Delivering client sites - KC2015

Post on 28-Jan-2018

584 views 1 download

Transcript of Delivering client sites - KC2015

Delivering client sites

Ilesh Mistry

Agenda

MMT Digital

Ilesh Mistry

Common mistakes in site delivery

Delivering client sites

Questions

@ileshmistry | #KenticoConnection

Elevator pitch –

We architect, design and build

bespoke websites and applications

that deliver outstanding user

experiences.

v

Ilesh Mistry

- http://www.mmtdigital.co.uk/Ilesh-mistry/blog

- @ileshmistry

- Ilesh.m@mmtdigital.co.uk

@ileshmistry | #KenticoConnection

Ilesh Mistry

Mini Mistrys…- Short videos on various

Kentico topics- How to guides- Smart Search is the

beginning…- Any suggestions let me know

@ileshmistry | #KenticoConnection

Common mistakes in site delivery

@ileshmistry | #KenticoConnection

Common mistakes in site delivery

@ileshmistry | #KenticoConnection

Common mistakes in site delivery Search doesn’t work

Analytics not working

Dropped in SEO ranking

Can’t access Online Marketing

Page is running slow

Can’t access admin area

Seeing error pages

Etc…

Make sure you site is ready ready and not just finished

@ileshmistry | #KenticoConnection

Delivering client sites - Agenda

Kentico Connection Site Delivery Checklist (#KenticoConnectionSDC)

UI Admin

EMS configuration

Front End Optimisation Techniques

URLs & SEO

Performance

Caching

Testing during site development

Security

Staying alive

Any other things?

@ileshmistry | #KenticoConnection

@ileshmistry | #KenticoConnection

Your Kentico Communityneeds…

You!#KenticoConnectionSDC

UI Admin Customise dashboard and

applications list

Roles and permissions

Page Types child items

Workflow

Resize image on upload

Build all Smart Search indexes that are needed across site?

Cleaned up the content tree and removed any unwanted items?

Page type icons

Forms & Form Layouts

Switched on various settings

Clean up templates and widgets they can select

Kentico Editor output styling e.g. Bullet point list

Use the new Version 9 Web Parts and Widget Usages to locate

@ileshmistry | #KenticoConnection

New in Version 9

EMS configuration

Set-up Widgets where you can?

Turned on/enabled Online Marketing options?

Enabled A/B Testing and MVT option

Enabled Content Personalization option

Thought about tracking conversions, if so use the conversion form control field

Mapped Form fields to allow for contacts within Kentico

@ileshmistry | #KenticoConnection

Front End Optimisation Techniques Image optimisation

Store in Filesystem

Upload size

Store files elsewhere Images

Videos

GZIP / output compression

@ileshmistry | #KenticoConnection

Front End Optimisation Techniques Minification

(JS, CSS, Images etc…)

Task runner e.g. Grunt

@ileshmistry | #KenticoConnection

Front End Optimisation Techniques Responsive Design

@ileshmistry | #KenticoConnection

Source: https://kinsta.com/learn/page-speed/

URLs and SEO URL Redirects

Same URLs

Allowed extensions

Canonical Links

Page Not Found

Robots, Google Sitemap and Google Analytics Thinking about multiple cultures would help with

this

HTML structures and syntax

Structured data e.g. Schema.org (https://developers.google.com/structured-data/testing-tool/)

@ileshmistry | #KenticoConnection

Performance

Kentico documentation for speeding up the website

Web part performance best practice

Only render what is required for that section not unrequired items (e.g. non mandatory fields markup showing up)

Bad backend coding

@ileshmistry | #KenticoConnection

Performance SQL Debugger

Real time SQL debugging

Looking at columns you needto use and not all

Different places to view it

Performance benefit

You know what to do when you have finished with it!

@ileshmistry | #KenticoConnection

Performance SQL Debugger

Under Debug SQL Queries

Example of a Hierarchical Viewer withmultiple Page Types

@ileshmistry | #KenticoConnection

Performance KInspector

@ileshmistry | #KenticoConnection

Performance - Recommendations

I would recommend to always check the SQL Debugger / Kinspector

Then if things look bad, use the web part with SQL Query in them so you define what the query / data source is and it is not something you just let Kentico handle

There are always and will be different scenarios to use some options over others, it all depends per project

@ileshmistry | #KenticoConnection

Caching What are you

going to cache?

Main types Output caching Partial Caching CacheHelper.Cache

Debugging cache

Output cachesubstitutions

To cache or not to cache that is the question

@ileshmistry | #KenticoConnection

private void BindGridCachedSection(){

DataSet ds = null;using (CachedSection<DataSet> cs = new CachedSection<DataSet>(ref

ds, new CacheSettings(60, "UsersDataset"))){

if (cs.LoadData) { ds = LoadUsersFromDB("UserEnabled=1"); }}grid.DataSource = ds;grid.DataBind();

}

private void BindGridTheBest(){

grid.DataSource = CacheHelper.Cache(() => LoadUsersFromDB("UserEnabled=1"), new CacheSettings(60,

"UsersDataset"));grid.DataBind();

}

Server/content cache Code from Petr Svihlik slides Kentico Developer Roadshow - London

Testing during site development Kentico validation

HTML

CSS

Link checker

Accessibility

Online validation

@ileshmistry | #KenticoConnection

Testing during site development JS Unit Testing

Jasmine & Karma

@ileshmistry | #KenticoConnection

Testing during site development JS Unit Testing

Jasmine & Karma

@ileshmistry | #KenticoConnection

Testing during site development .Net Unit Testing

NUnit

Mocking with MOQ outside Kentico

Custom Services

@ileshmistry | #KenticoConnection

Testing during site development .Net Unit Testing

NUnit

Mocking with MOQ outside Kentico

Custom Services

@ileshmistry | #KenticoConnection

Testing during site development Cross browser and

device testing

Selenium automated testing

@ileshmistry | #KenticoConnection

Security Run site through HTTPS

Stress Testing / Concurrent Testing e.g. Seige

Penetration Testing

Open Web Application Security Project (OWASP) Top 10 Security Vulnerabilities Injection Cross Site Scripting Anti CSRF (Cross-Site Request Forgery) Etc…

Now improved in version 9 protection against CSRF by employing anti-CSRF tokens Great article by Juraj Komlosi on this

@ileshmistry | #KenticoConnection

Staying alive

There are tools out there that check sites UpTrends

Uptime Robot

StatusCake

Pingdom

Get alerts before the client does so you can resolve them quickly

@ileshmistry | #KenticoConnection

Any other things?

Kentico Setup Installer

Follow my blog post on setting up a base site template

@ileshmistry | #KenticoConnection

@ileshmistry | #KenticoConnection

Your Kentico Communityneeds…

You!#KenticoConnectionSDC

Questions?

@ileshmistry | #KenticoConnection

Thank you!

http://www.mmtdigital.co.uk/Ilesh-Mistry

https://twitter.com/ileshmistry

https://www.facebook.com/ilesh.mistry

https://www.linkedin.com/in/ileshmistry

https://plus.google.com/+IleshMistry

ilesh.m@mmtdigital.co.uk

@ileshmistry | #KenticoConnection