delivering client sites - kc2015

36
Delivering client sites Ilesh Mistry

Upload: ilesh-mistry

Post on 28-Jan-2018

584 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Delivering client sites - KC2015

Delivering client sites

Ilesh Mistry

Page 2: Delivering client sites - KC2015

Agenda

MMT Digital

Ilesh Mistry

Common mistakes in site delivery

Delivering client sites

Questions

@ileshmistry | #KenticoConnection

Page 3: Delivering client sites - KC2015
Page 4: Delivering client sites - KC2015

Elevator pitch –

We architect, design and build

bespoke websites and applications

that deliver outstanding user

experiences.

Page 5: Delivering client sites - KC2015

v

Page 6: Delivering client sites - KC2015

Ilesh Mistry

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

- @ileshmistry

- [email protected]

@ileshmistry | #KenticoConnection

Page 7: Delivering client sites - KC2015

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

Page 8: Delivering client sites - KC2015

Common mistakes in site delivery

@ileshmistry | #KenticoConnection

Page 9: Delivering client sites - KC2015

Common mistakes in site delivery

@ileshmistry | #KenticoConnection

Page 10: Delivering client sites - KC2015

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

Page 11: Delivering client sites - KC2015

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

Page 12: Delivering client sites - KC2015

@ileshmistry | #KenticoConnection

Your Kentico Communityneeds…

You!#KenticoConnectionSDC

Page 13: Delivering client sites - KC2015

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

Page 14: Delivering client sites - KC2015

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

Page 15: Delivering client sites - KC2015

Front End Optimisation Techniques Image optimisation

Store in Filesystem

Upload size

Store files elsewhere Images

Videos

GZIP / output compression

@ileshmistry | #KenticoConnection

Page 16: Delivering client sites - KC2015

Front End Optimisation Techniques Minification

(JS, CSS, Images etc…)

Task runner e.g. Grunt

@ileshmistry | #KenticoConnection

Page 17: Delivering client sites - KC2015

Front End Optimisation Techniques Responsive Design

@ileshmistry | #KenticoConnection

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

Page 18: Delivering client sites - KC2015

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

Page 19: Delivering client sites - KC2015

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

Page 20: Delivering client sites - KC2015

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

Page 21: Delivering client sites - KC2015

Performance SQL Debugger

Under Debug SQL Queries

Example of a Hierarchical Viewer withmultiple Page Types

@ileshmistry | #KenticoConnection

Page 22: Delivering client sites - KC2015

Performance KInspector

@ileshmistry | #KenticoConnection

Page 23: Delivering client sites - KC2015

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

Page 24: Delivering client sites - KC2015

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

Page 25: Delivering client sites - KC2015

Testing during site development Kentico validation

HTML

CSS

Link checker

Accessibility

Online validation

@ileshmistry | #KenticoConnection

Page 26: Delivering client sites - KC2015

Testing during site development JS Unit Testing

Jasmine & Karma

@ileshmistry | #KenticoConnection

Page 27: Delivering client sites - KC2015

Testing during site development JS Unit Testing

Jasmine & Karma

@ileshmistry | #KenticoConnection

Page 28: Delivering client sites - KC2015

Testing during site development .Net Unit Testing

NUnit

Mocking with MOQ outside Kentico

Custom Services

@ileshmistry | #KenticoConnection

Page 29: Delivering client sites - KC2015

Testing during site development .Net Unit Testing

NUnit

Mocking with MOQ outside Kentico

Custom Services

@ileshmistry | #KenticoConnection

Page 30: Delivering client sites - KC2015

Testing during site development Cross browser and

device testing

Selenium automated testing

@ileshmistry | #KenticoConnection

Page 31: Delivering client sites - KC2015

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

Page 32: Delivering client sites - KC2015

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

Page 33: Delivering client sites - KC2015

Any other things?

Kentico Setup Installer

Follow my blog post on setting up a base site template

@ileshmistry | #KenticoConnection

Page 34: Delivering client sites - KC2015

@ileshmistry | #KenticoConnection

Your Kentico Communityneeds…

You!#KenticoConnectionSDC

Page 35: Delivering client sites - KC2015

Questions?

@ileshmistry | #KenticoConnection

Page 36: Delivering client sites - KC2015

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

[email protected]

@ileshmistry | #KenticoConnection