SlideShare une entreprise Scribd logo
1  sur  162
Turbo-charging your 
WordPress* website 
Turbo-charging your WordPress website @jonoalderson
I’m going to make you 
care about technical SEO. 
Turbo-charging your WordPress website @jonoalderson
Jono Alderson 
Head of Insight @ Linkdex 
@jonoalderson 
Technical SEO + analytics geek 
Closet web developer & Wordpress fanatic 
Turbo-charging your WordPress website @jonoalderson
So, like any good SEO, I 
needed a website. 
Turbo-charging your WordPress website @jonoalderson
September 19th is Talk Like A Pirate Day 
Turbo-charging your WordPress website @jonoalderson
Today is International Plush Animal Lovers Day 
Turbo-charging your WordPress website @jonoalderson
Tomorrow is Cat Day and Internet Day 
Turbo-charging your WordPress website @jonoalderson
...and the whole of October is Pizza Month 
Turbo-charging your WordPress website @jonoalderson
! 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
# links built 
zero 
Turbo-charging your WordPress website @jonoalderson
# bloggers emailed 
zero 
Turbo-charging your WordPress website @jonoalderson
Proactive outreach done 
zero 
Turbo-charging your WordPress website @jonoalderson
Comment spam, guest posting, content spun 
zero 
Turbo-charging your WordPress website @jonoalderson
Infographics 
zero 
Turbo-charging your WordPress website @jonoalderson
Average words per page 
< 50* 
Turbo-charging your WordPress website @jonoalderson
Budget 
zero* 
Turbo-charging your WordPress website @jonoalderson
Wanna see? 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
www.daysoftheyear.com 
Turbo-charging your WordPress website @jonoalderson
When we started talking 
about content marketing, we 
stopped talking about 
technical optimisation. 
“on page” is not the same as “technical” 
Turbo-charging your WordPress website @jonoalderson
Why should we care? 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
We’ve all seen the impact of 
technical bugs/faults/etc. 
Broken pages, missing redirects, 
indexation faults, etc... 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Visualising Performance 
Seeing is believing 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Ditch the crappy 
metaphor! 
Yes, it works as a loose analogy, but it gives people 
permission to think about it in an abstract sense. 
Turbo-charging your WordPress website @jonoalderson
Visualising Performance 
Speed 
● Google PageSpeed Insights, ySlow 
● Google Analytics 
● Pingdom, WebPageTest* 
Turbo-charging your WordPress website @jonoalderson
developers.google.com/speed/pagespeed/insights/ 
Turbo-charging your WordPress website @jonoalderson
webpagetest.org 
Turbo-charging your WordPress website @jonoalderson
An aside… 
Developers HATE this. 
There is no ‘site speed’ number which Google uses. 
Turbo-charging your WordPress website @jonoalderson
Visualising Performance 
User Experience 
● How’s it “feel”? Consider the psychology of the loading experience 
● User experience index, general quality, give-a-damn 
● Track it, benchmark it. Surveying and feedback tools 
Turbo-charging your WordPress website @jonoalderson
Visualising Performance 
Technical optimisation & security 
● Bandwidth/overhead optimisation 
● Adoption of technologies (open graph, responsive images, caching, etc) 
● Minimising risks of hacking, DDOS 
Turbo-charging your WordPress website @jonoalderson
But wait, this really isn’t 
SEO…? 
Turbo-charging your WordPress website @jonoalderson
So, let’s go. 
Turbo-charging your WordPress website @jonoalderson
But first... 
bit.ly/searchlove-wordpress 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Visualising the stack 
Turbo-charging your WordPress website @jonoalderson
Visualising the stack 
1. Hosting Type 
Turbo-charging your WordPress website @jonoalderson
Visualising the stack 
2. Server Spec & Config 
Turbo-charging your WordPress website @jonoalderson
Visualising the stack 
3. Theme / CMS 
Turbo-charging your WordPress website @jonoalderson
Visualising the stack 
4. Domain(s) 
Turbo-charging your WordPress website @jonoalderson
Visualising the stack 
5. Media / Assets 
Turbo-charging your WordPress website @jonoalderson
Visualising the stack 
6. HTML & DOM parsing (and CSS + 
JS) 
Turbo-charging your WordPress website @jonoalderson
Visualising the stack 
7. Re-flow / re-paint, FPS 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
So let’s start with 
something easy. 
My ‘must have’ WordPress plugins 
Turbo-charging your WordPress website @jonoalderson
Don’t go anywhere without installing: 
W3 Total Cache* 
Redirection 
BWP Sitemaps 
Broken Link Checker 
iThemes Security* 
Akismet* 
Query Monitor 
Turbo-charging your WordPress website @jonoalderson
You may also like... 
BWP Minify 
Yet Another Related Posts Plugin* 
YARPP Experiments 
Relevanssi* 
WP-PageNavi 
Kraken.io* 
Google Tag Manager for Wordpress 
User Role Editor 
Custom Post Type Permalinks 
Turbo-charging your WordPress website @jonoalderson
Third Party Services 
Cloudflare (or MaxCDN) 
NewRelic 
An SSL certificate (ssl2buy.com) 
...some kind of backup processes... 
...and some proper hosting... 
Turbo-charging your WordPress website @jonoalderson
What, no Yoast SEO? 
Turbo-charging your WordPress website @jonoalderson
Stand up, Jim. 
Jim Seward, @iamoldskool 
Turbo-charging your WordPress website @jonoalderson
“My wordpress 
seo tends to be 
limited to ‘install 
the yoast plugin’ 
and do the 
usual site 
stuff...” 
Jim Seward, @iamoldskool 
Turbo-charging your WordPress website @jonoalderson
Is this really an issue? 
What are the experts doing? 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
If everybody’s only 
running at 80%... 
...Want the rest? 
Turbo-charging your WordPress website @jonoalderson
Here’s the stuff nobody 
talks about. 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Buy yourself some hosting. 
You can only learn this stuff by 
doing 
Turbo-charging your WordPress website @jonoalderson
Dedicated/tailored 
WordPress Hosting? 
Turbo-charging your WordPress website @jonoalderson
DIY HOSTING 
Shared, Dedicated, or VPS 
*(vs Clusters & hardcore setups, AWS elastic cloud computing) 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
cPanel 
Turbo-charging your WordPress website @jonoalderson
Behind the curtain… 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
http://codex.wordpress.org/ 
Turbo-charging your WordPress website @jonoalderson
wp-config.php 
Security settings 
Auto update settings 
Limit revision & trash storage 
Cookie stuff 
Set memory allowance 
Force SSL 
Set language 
http://codex.wordpress.org/Editing_wp-config.php 
Turbo-charging your WordPress website @jonoalderson
Expert tip... 
Reference the 
URL -> <- Page 
Template Hierarchy 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
You can use pre_get_posts to intercept and 
change how requests are processed 
Turbo-charging your WordPress website @jonoalderson
URL Structures 
(Permalinks) 
Default 
/?p=%post-id% 
http://www.example.com/?p=123 
Turbo-charging your WordPress website @jonoalderson
URL Structures 
(Permalinks) 
‘Pretty’ 
/%category%/%postname%/ 
http://www.example.com/cat/page/ 
Turbo-charging your WordPress website @jonoalderson
URL Structures 
(Permalinks) 
‘Flat’ 
/%post-id%-%postname%/ 
http://www.example.com/123-page/ 
Turbo-charging your WordPress website @jonoalderson
Custom 503, maintenance & 
DB error pages 
Turbo-charging your WordPress website @jonoalderson
Custom Error Files 
wp-content/maintenance.php 
wp-content/db-error.php 
<?php 
// Set headers before outputting the page HTML 
header('HTTP/1.1 503 Service Temporarily Unavailable'); 
header('Status: 503 Service Temporarily Unavailable'); 
header('Retry-After: 3600'); // 1 hour = 3600 seconds 
?> 
<html> 
... 
Turbo-charging your WordPress website @jonoalderson
Other WP Crap… 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Clean up WP and plugin overheads 
// Clean up wp_head() 
function cleanhead() { 
remove_action('wp_head', 'rsd_link'); 
remove_action('wp_head', 'wlwmanifest_link'); 
remove_action('wp_head', 'wp_generator'); 
remove_action('wp_head', 'feed_links_extra', 3 ); 
remove_action('wp_head', 'feed_links', 2 ); 
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); 
remove_action('wp_head', 'rel_canonical'); 
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 ); 
} 
add_action('init', 'cleanhead'); 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Clean up WP and plugin overheads 
// Ged rid of superfluous CSS 
function deregister_styles() { if (!is_admin()) { 
wp_deregister_style('avatars'); 
wp_deregister_style('imgareaselect') 
wp_deregister_style('avatar-manager.css'); 
wp_deregister_style('yarppRelatedCss'); 
} } 
add_action( 'wp_print_styles', 'deregister_styles'); 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Kill unnecessary templates 
// Kill misc pages 
add_action('template_redirect', 'jono_nerf_pages'); 
function jono_nerf_pages() { 
global $wp_query, $post; 
if (is_day() || is_month() || is_year()) { header("HTTP/1.0 404 Not Found"); $wp_query->set_404(); } 
if (is_attachment()) { header("HTTP/1.1 301 Moved Permanently"); header("Location: ".get_permalink($post->post_parent)); exit; } 
if (is_feed()) { header("HTTP/1.0 404 Not Found"); $wp_query->set_404(); wp_query->is_feed = false; } 
if ((is_archive()) && (!have_posts())) { header("HTTP/1.0 404 Not Found"); $wp_query->set_404(); } 
} 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Your Theme Performance 
PHP & database 
Theme files and functions 
Plugins & widgets 
Turbo-charging your WordPress website @jonoalderson
W3 Total Cache! 
Turbo-charging your WordPress website @jonoalderson
I’m not going to tell you 
how to configure this. 
Your site is unique. 
Turbo-charging your WordPress website @jonoalderson
Here’s a good place to start 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
You can move redirects from out of WordPress 
and into .htaccess from within the plugin admin 
Turbo-charging your WordPress website @jonoalderson
Some things to watch out for... 
apple-touch-icon.png (and variants) 
favicon.ico (and variants) 
browserconfig.xml 
Invalid or un-used feeds 
invalid page/date ranges 
broken internal links (and missing http links) 
alternate sitemap and meta data urls 
pages & images with weird, breaking parameters 
security probes 
legacy urls 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
The physical location of your 
server & media matters. 
Use a CDN 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
MAGIC. 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Subdomains Rock. 
Serialisation of requests (and other cool stuff) 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
*No need to create/configure subdomains in cPanel/WHM! 
Turbo-charging your WordPress website @jonoalderson
Configure in W3TC as a “Generic Mirror” 
Cloudflare + Subdomains + W3 Total Cache = 
MAGIC 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Redirect requests which resolve to your CDN subdomains (or other 
hostnames) 
// Redirect requests from non-primary domains 
function domain_redirect() { 
$hostname = $_SERVER['HTTP_HOST']; 
$mainDomains = array('www.daysoftheyear.com','app.daysoftheyear.com'); 
if (!in_array($hostname,$mainDomains)) { 
$uri = $_SERVER['REQUEST_URI']; 
wp_redirect( 'https://www.daysoftheyear.com'.$uri, 301 ); exit; 
} 
} 
add_action('init', 'domain_redirect'); 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Use established CDNs to server common/large resources (like jQuery) 
// Use Google CDN for jQuery 
function modify_jquery() { 
if (!is_admin()) { 
wp_deregister_script('jquery'); 
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js', false, '1.11.1'); 
wp_enqueue_script('jquery'); 
} 
} 
add_action('init', 'modify_jquery'); 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
(Or W3 Total Cache) 
Turbo-charging your WordPress website @jonoalderson
Before… 
After… 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
HTTPS / SSL 
Change to protocol-relative URLs (//example.com/file/) 
References in CSS/JS & third party stuff 
Purchase & install key* 
(Cloudflare is MAGIC) 
Buy the right type (single, multi, wildcard) 
Tweak CDN config 
W3 Total Cache config 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Database find & replace 
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, 
‘replace found string with this string’); 
...or cheat... 
“Search and Replace” plugin 
Turbo-charging your WordPress website @jonoalderson
HTTPS / SSL 
Force SSL in wp-config.php (esp. if using Cloudflare) 
// Force SSL 
define('FORCE_SSL_ADMIN', true); 
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') 
$_SERVER['HTTPS']='on'; 
Turbo-charging your WordPress website @jonoalderson
HTTPS / SSL 
Force SSL in .htaccess 
http://www.webhostinghub.com/help/learn/website/ssl/force-website-to-use-ssl 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Media Optimisation 
Pay attention to every detail. 
Kraken, but get it right first. 
Photoshop isn’t good enough; use dedicated kit 
Turbo-charging your WordPress website @jonoalderson
File size is (sometimes) less 
important than #requests 
Turbo-charging your WordPress website @jonoalderson
CSS Sprites 
Are super-awesome, and avoid extra 
requests 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
You can base64 encode images in your CSS 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Change default media links 
// Change image default link 
function misc_change_image_default_link() { 
$image_set = get_option( 'image_default_link_type' ); 
if ($image_set !== 'none') { 
update_option('image_default_link_type', 'none'); 
} 
} 
add_action('admin_init', 'misc_change_image_default_link', 10); 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Lowercase filenames 
// Lowercase filenames 
add_filter('sanitize_file_name', 'mfl_make_filename_lowercase', 10); 
function mfl_make_filename_lowercase($filename) { 
$info = pathinfo($filename); 
$ext = empty($info['extension']) ? '' : '.' . $info['extension']; 
$name = basename($filename, $ext); 
return strtolower($name) . $ext; 
} 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Responsive Images (without the overhead…) 
<picture> 
<!--[if IE 9]><video style="display: none;"><![endif]--> 
<source srcset="small-image.jpg" media="(max-width: 480px)"> 
<source srcset="medium-image.jpg" media="(max-width: 720px)"> 
<source srcset="large-image.jpg" media="(max-width: 1024px)"> 
<source srcset="xlarge-image.jpg" media="(max-width: 1280px)"> 
<!--[if IE 9]></video><![endif]--> 
<img srcset="xlarge-image.jpg" alt="" /> 
</picture> 
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Responsive Images (without the overhead…) 
// Thumbnail sizes 
add_image_size( 'cols-1-small', 480, 314, array( 'left', 'top' ) ); 
add_image_size( 'cols-1-med', 720, 470, array( 'left', 'top' ) ); 
add_image_size( 'cols-1-large', 1024, 669, array( 'left', 'top' ) ); 
add_image_size( 'cols-1-xlarge', 1024, 669, array( 'left', 'top' ) ); 
add_image_size( 'cols-2-small', 240, 157, array( 'left', 'top' ) ); 
add_image_size( 'cols-2-med', 360, 236, array( 'left', 'top' ) ); 
add_image_size( 'cols-2-large', 512, 335, array( 'left', 'top' ) ); 
add_image_size( 'cols-2-xlarge', 512, 335, array( 'left', 'top' ) ); 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
webpagetest.org 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Expert tip... 
NewRelic 
Turbo-charging your WordPress website @jonoalderson
Expert tip... 
NewRelic 
Turbo-charging your WordPress website @jonoalderson
Expert tip... 
NewRelic 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Expert Tip... 
Check your error_log file 
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Turbo-charging your WordPress website @jonoalderson
Stuff I haven’t talked about... 
Parent/child theme relationships 
PHP(!) 
Transient caching 
Device-type optimisation 
Awkward SSL stuff (chain certificates) 
CSS/JS optimisation 
WP Cron, Ajax & the Heartbeat API 
Browser reflow and repaint 
(That may own websites are a bit slow, and far from perfect!) 
Take it one step at a time. 
Turbo-charging your WordPress website @jonoalderson
Stop mitigating against 
technical impact... 
...Start capitalising on technical opportunity. 
Turbo-charging your WordPress website @jonoalderson
Learn (some of) this stuff! 
And not just because you want to be “full stack”. 
Turbo-charging your WordPress website @jonoalderson
And if you’re not at least thinking 
about this stuff…? 
Maybe all you’re doing is “marketing”. 
Turbo-charging your WordPress website @jonoalderson
Google cares about this stuff... 
Because users do. Even if they don’t know they do. 
Turbo-charging your WordPress website @jonoalderson
Aim for 100% 
(but get there one step at a time) 
Turbo-charging your WordPress website @jonoalderson
WIN 
Turbo-charging your WordPress website @jonoalderson
Jono Alderson 
Head of Insight @ Linkdex 
@jonoalderson 
(and also www.daysoftheyear.com) 
Turbo-charging your WordPress website @jonoalderson

Contenu connexe

Tendances

The Search Engine Experience
The Search Engine ExperienceThe Search Engine Experience
The Search Engine Experience
Clark T. Bell
 

Tendances (19)

Conflicting Website Signals & Confused Search Engines | Raleigh SEO Conferenc...
Conflicting Website Signals & Confused Search Engines | Raleigh SEO Conferenc...Conflicting Website Signals & Confused Search Engines | Raleigh SEO Conferenc...
Conflicting Website Signals & Confused Search Engines | Raleigh SEO Conferenc...
 
We’ve analysed the SEO of over 100 eCom sites - this is what we’ve learned!
We’ve analysed the SEO of over 100 eCom sites - this is what we’ve learned!We’ve analysed the SEO of over 100 eCom sites - this is what we’ve learned!
We’ve analysed the SEO of over 100 eCom sites - this is what we’ve learned!
 
MeasureFest July 2021 - Session Segmentation with Machine Learning
MeasureFest July 2021 - Session Segmentation with Machine LearningMeasureFest July 2021 - Session Segmentation with Machine Learning
MeasureFest July 2021 - Session Segmentation with Machine Learning
 
Conflicting Website Signals & Confused Search Engines - Rachel Costello, Tech...
Conflicting Website Signals & Confused Search Engines - Rachel Costello, Tech...Conflicting Website Signals & Confused Search Engines - Rachel Costello, Tech...
Conflicting Website Signals & Confused Search Engines - Rachel Costello, Tech...
 
SearchLeeds 2018 - Steve Chambers - Stickyeyes - How not to F**K up a Migration
SearchLeeds 2018 - Steve Chambers - Stickyeyes - How not to F**K up a Migration SearchLeeds 2018 - Steve Chambers - Stickyeyes - How not to F**K up a Migration
SearchLeeds 2018 - Steve Chambers - Stickyeyes - How not to F**K up a Migration
 
BrightonSEO 2017 - SEO quick wins from a technical check
BrightonSEO 2017  - SEO quick wins from a technical checkBrightonSEO 2017  - SEO quick wins from a technical check
BrightonSEO 2017 - SEO quick wins from a technical check
 
The Search Engine Experience
The Search Engine ExperienceThe Search Engine Experience
The Search Engine Experience
 
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The SpuriousTom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
 
Schema.org and the changing world of Rich Results - SEOEdinburgh Meetup
Schema.org and the changing world of Rich Results - SEOEdinburgh MeetupSchema.org and the changing world of Rich Results - SEOEdinburgh Meetup
Schema.org and the changing world of Rich Results - SEOEdinburgh Meetup
 
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-PractiseTechnical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
 
Location-Free Local SEO
Location-Free Local SEOLocation-Free Local SEO
Location-Free Local SEO
 
Fast and accurate SEO reporting and diagnostics with Google Analytics - Cardi...
Fast and accurate SEO reporting and diagnostics with Google Analytics - Cardi...Fast and accurate SEO reporting and diagnostics with Google Analytics - Cardi...
Fast and accurate SEO reporting and diagnostics with Google Analytics - Cardi...
 
DIY SEO
DIY SEODIY SEO
DIY SEO
 
The Future Of SEO
The Future Of SEOThe Future Of SEO
The Future Of SEO
 
SEO Success Factors - SMX Advanced 2014
SEO Success Factors - SMX Advanced 2014SEO Success Factors - SMX Advanced 2014
SEO Success Factors - SMX Advanced 2014
 
Brighton SEO April 2018 Craig Campbell
Brighton SEO April 2018 Craig CampbellBrighton SEO April 2018 Craig Campbell
Brighton SEO April 2018 Craig Campbell
 
The State of the Web: Pagination and Infinite Scroll
The State of the Web: Pagination and Infinite ScrollThe State of the Web: Pagination and Infinite Scroll
The State of the Web: Pagination and Infinite Scroll
 
Technical SEO Best Practices
Technical SEO Best PracticesTechnical SEO Best Practices
Technical SEO Best Practices
 
Content Re-Optimization
Content Re-OptimizationContent Re-Optimization
Content Re-Optimization
 

En vedette

En vedette (13)

SearchLove London | David Mihm, 'Bulletproofing Your Local Search Presence in...
SearchLove London | David Mihm, 'Bulletproofing Your Local Search Presence in...SearchLove London | David Mihm, 'Bulletproofing Your Local Search Presence in...
SearchLove London | David Mihm, 'Bulletproofing Your Local Search Presence in...
 
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...
What the Flash Crash & Black Boxes can teach us about the Search #searchlove ...
 
SearchLove London | Annie Cushing, 'Are Your Google Analytic's Reports Pretty...
SearchLove London | Annie Cushing, 'Are Your Google Analytic's Reports Pretty...SearchLove London | Annie Cushing, 'Are Your Google Analytic's Reports Pretty...
SearchLove London | Annie Cushing, 'Are Your Google Analytic's Reports Pretty...
 
SearchLove London | Rand Fishkin, 'Cracking the SEO Code for 2015'
SearchLove London | Rand Fishkin, 'Cracking the SEO Code for 2015'SearchLove London | Rand Fishkin, 'Cracking the SEO Code for 2015'
SearchLove London | Rand Fishkin, 'Cracking the SEO Code for 2015'
 
SearchLove London | Will Critchlow, 'The Threat of Mobile'
SearchLove London | Will Critchlow, 'The Threat of Mobile' SearchLove London | Will Critchlow, 'The Threat of Mobile'
SearchLove London | Will Critchlow, 'The Threat of Mobile'
 
SearchLove London | Hannah Smith, Existential Crisis Management
SearchLove London | Hannah Smith, Existential Crisis Management SearchLove London | Hannah Smith, Existential Crisis Management
SearchLove London | Hannah Smith, Existential Crisis Management
 
Searchlove London | Oli Gardner, 'The Landing Page Manifesto'
Searchlove London | Oli Gardner, 'The Landing Page Manifesto' Searchlove London | Oli Gardner, 'The Landing Page Manifesto'
Searchlove London | Oli Gardner, 'The Landing Page Manifesto'
 
SearchLove London | Mackenzie Fogelson, 'The Measurement Behind Your Integrat...
SearchLove London | Mackenzie Fogelson, 'The Measurement Behind Your Integrat...SearchLove London | Mackenzie Fogelson, 'The Measurement Behind Your Integrat...
SearchLove London | Mackenzie Fogelson, 'The Measurement Behind Your Integrat...
 
SearchLove London | Molly Flatt, 'Putting The X into Content Marketing'
SearchLove London | Molly Flatt, 'Putting The X into Content Marketing'SearchLove London | Molly Flatt, 'Putting The X into Content Marketing'
SearchLove London | Molly Flatt, 'Putting The X into Content Marketing'
 
SearchLove London | Jo Kerr, 'Virtual Campfire: Girlguiding Social Strategies'
SearchLove London | Jo Kerr, 'Virtual Campfire: Girlguiding Social Strategies'SearchLove London | Jo Kerr, 'Virtual Campfire: Girlguiding Social Strategies'
SearchLove London | Jo Kerr, 'Virtual Campfire: Girlguiding Social Strategies'
 
SearchLove London | Iain Haywood, 'Promotional Marketing: The Good, The Bad, ...
SearchLove London | Iain Haywood, 'Promotional Marketing: The Good, The Bad, ...SearchLove London | Iain Haywood, 'Promotional Marketing: The Good, The Bad, ...
SearchLove London | Iain Haywood, 'Promotional Marketing: The Good, The Bad, ...
 
Building a Brand with Video - #SearchLove London 2014
Building a Brand with Video - #SearchLove London 2014Building a Brand with Video - #SearchLove London 2014
Building a Brand with Video - #SearchLove London 2014
 
SearchLove London | Ade Lewis 'Becoming a Digital Super-Hero'
SearchLove London | Ade Lewis 'Becoming a Digital Super-Hero'SearchLove London | Ade Lewis 'Becoming a Digital Super-Hero'
SearchLove London | Ade Lewis 'Becoming a Digital Super-Hero'
 

Similaire à SearchLove London | 'Jono Alderson', Turbocharging your Wordpress Website'

Lecture26 going live
Lecture26 going liveLecture26 going live
Lecture26 going live
shawiz
 

Similaire à SearchLove London | 'Jono Alderson', Turbocharging your Wordpress Website' (20)

Hands On WordPress SEO Mozinar - June 4, 2013
Hands On WordPress SEO Mozinar - June 4, 2013Hands On WordPress SEO Mozinar - June 4, 2013
Hands On WordPress SEO Mozinar - June 4, 2013
 
The Real Problems Behind Indexing | 5 Hours of Technical SEO
The Real Problems Behind Indexing | 5 Hours of Technical SEOThe Real Problems Behind Indexing | 5 Hours of Technical SEO
The Real Problems Behind Indexing | 5 Hours of Technical SEO
 
Bartosz Goralewicz — The Real Problems Behind Indexing | 5 Hours of Technical...
Bartosz Goralewicz — The Real Problems Behind Indexing | 5 Hours of Technical...Bartosz Goralewicz — The Real Problems Behind Indexing | 5 Hours of Technical...
Bartosz Goralewicz — The Real Problems Behind Indexing | 5 Hours of Technical...
 
How to Take Your Website Beyond Fast
How to Take Your Website Beyond FastHow to Take Your Website Beyond Fast
How to Take Your Website Beyond Fast
 
WordPress SEO on Drugs!
WordPress SEO on Drugs!WordPress SEO on Drugs!
WordPress SEO on Drugs!
 
WordPress SEO in 2014 - WordCamp Baltimore 2014
WordPress SEO in 2014 - WordCamp Baltimore 2014WordPress SEO in 2014 - WordCamp Baltimore 2014
WordPress SEO in 2014 - WordCamp Baltimore 2014
 
Building a website with WordPress
Building a website with WordPressBuilding a website with WordPress
Building a website with WordPress
 
WordPress SEO 101 - Dayton 2016 WordCamp
WordPress SEO 101 - Dayton 2016 WordCampWordPress SEO 101 - Dayton 2016 WordCamp
WordPress SEO 101 - Dayton 2016 WordCamp
 
Lecture26 going live
Lecture26 going liveLecture26 going live
Lecture26 going live
 
Wordpress SEO - Wordcamp Seattle #wcsea
Wordpress SEO - Wordcamp Seattle #wcseaWordpress SEO - Wordcamp Seattle #wcsea
Wordpress SEO - Wordcamp Seattle #wcsea
 
Amazing WordPress & Productivity Tips
Amazing WordPress & Productivity TipsAmazing WordPress & Productivity Tips
Amazing WordPress & Productivity Tips
 
SEO for WordPress Blogs
SEO for WordPress BlogsSEO for WordPress Blogs
SEO for WordPress Blogs
 
Technical SEO for WordPress
Technical SEO for WordPressTechnical SEO for WordPress
Technical SEO for WordPress
 
WordPress SEO 101
WordPress SEO 101WordPress SEO 101
WordPress SEO 101
 
Footprints for backlinks - Find quality backlinks in minutes
Footprints for backlinks - Find quality backlinks in minutesFootprints for backlinks - Find quality backlinks in minutes
Footprints for backlinks - Find quality backlinks in minutes
 
WordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter MeadWordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter Mead
 
Choose Your Own Adventure: SEO For Web Developers | Unified Diff
Choose Your Own Adventure: SEO For Web Developers | Unified DiffChoose Your Own Adventure: SEO For Web Developers | Unified Diff
Choose Your Own Adventure: SEO For Web Developers | Unified Diff
 
Wordpress Meetup 2 23 10
Wordpress Meetup 2 23 10Wordpress Meetup 2 23 10
Wordpress Meetup 2 23 10
 
How to Make Your WordPress Site Search Engine Friendly & Web Marketing Ready
How to Make Your WordPress Site Search Engine Friendly & Web Marketing ReadyHow to Make Your WordPress Site Search Engine Friendly & Web Marketing Ready
How to Make Your WordPress Site Search Engine Friendly & Web Marketing Ready
 
WordPress & SEO Love for Beginners
WordPress & SEO Love for BeginnersWordPress & SEO Love for Beginners
WordPress & SEO Love for Beginners
 

Plus de Distilled

Plus de Distilled (20)

SearchLove London 2019 - Will Critchlow - Misunderstood Concepts at the Heart...
SearchLove London 2019 - Will Critchlow - Misunderstood Concepts at the Heart...SearchLove London 2019 - Will Critchlow - Misunderstood Concepts at the Heart...
SearchLove London 2019 - Will Critchlow - Misunderstood Concepts at the Heart...
 
SearchLove London 2019 - Stacey MacNaught - Actioning Search Intent: What to ...
SearchLove London 2019 - Stacey MacNaught - Actioning Search Intent: What to ...SearchLove London 2019 - Stacey MacNaught - Actioning Search Intent: What to ...
SearchLove London 2019 - Stacey MacNaught - Actioning Search Intent: What to ...
 
SearchLove London 2019 - Lindsay Wassell - Managing Multinational & Multiling...
SearchLove London 2019 - Lindsay Wassell - Managing Multinational & Multiling...SearchLove London 2019 - Lindsay Wassell - Managing Multinational & Multiling...
SearchLove London 2019 - Lindsay Wassell - Managing Multinational & Multiling...
 
SearchLove London 2019 - Dr. Pete Meyers - Scaling Keyword Research: More Isn...
SearchLove London 2019 - Dr. Pete Meyers - Scaling Keyword Research: More Isn...SearchLove London 2019 - Dr. Pete Meyers - Scaling Keyword Research: More Isn...
SearchLove London 2019 - Dr. Pete Meyers - Scaling Keyword Research: More Isn...
 
SearchLoveLondon 2019 - Faisal Anderson - Spying on Google: Using Log File An...
SearchLoveLondon 2019 - Faisal Anderson - Spying on Google: Using Log File An...SearchLoveLondon 2019 - Faisal Anderson - Spying on Google: Using Log File An...
SearchLoveLondon 2019 - Faisal Anderson - Spying on Google: Using Log File An...
 
SearchLove London 2019 - Rory Truesdale - Using the SERPs to Know Your Audience
SearchLove London 2019 - Rory Truesdale - Using the SERPs to Know Your AudienceSearchLove London 2019 - Rory Truesdale - Using the SERPs to Know Your Audience
SearchLove London 2019 - Rory Truesdale - Using the SERPs to Know Your Audience
 
SearchLove London 2019 - Rand Fishkin - The Search Landscape in 2019
SearchLove London 2019 - Rand Fishkin - The Search Landscape in 2019SearchLove London 2019 - Rand Fishkin - The Search Landscape in 2019
SearchLove London 2019 - Rand Fishkin - The Search Landscape in 2019
 
SearchLove London 2019 - Jes Scholtz - Giving Robots an All Access Pass
SearchLove London 2019 - Jes Scholtz - Giving Robots an All Access PassSearchLove London 2019 - Jes Scholtz - Giving Robots an All Access Pass
SearchLove London 2019 - Jes Scholtz - Giving Robots an All Access Pass
 
SearchLove London 2019 - Heather Physioc - Building a Discoverability Powerhouse
SearchLove London 2019 - Heather Physioc - Building a Discoverability PowerhouseSearchLove London 2019 - Heather Physioc - Building a Discoverability Powerhouse
SearchLove London 2019 - Heather Physioc - Building a Discoverability Powerhouse
 
SearchLove London 2019 - Andi Jarvis - The Science of Persuasion
SearchLove London 2019 - Andi Jarvis - The Science of PersuasionSearchLove London 2019 - Andi Jarvis - The Science of Persuasion
SearchLove London 2019 - Andi Jarvis - The Science of Persuasion
 
SearchLove London 2019 - Luke Carthy - Finding Powerful CRO and UX Opportunit...
SearchLove London 2019 - Luke Carthy - Finding Powerful CRO and UX Opportunit...SearchLove London 2019 - Luke Carthy - Finding Powerful CRO and UX Opportunit...
SearchLove London 2019 - Luke Carthy - Finding Powerful CRO and UX Opportunit...
 
SearchLove London 2019 - Greg Gifford - Doc Brown's Plutonium-powered Local S...
SearchLove London 2019 - Greg Gifford - Doc Brown's Plutonium-powered Local S...SearchLove London 2019 - Greg Gifford - Doc Brown's Plutonium-powered Local S...
SearchLove London 2019 - Greg Gifford - Doc Brown's Plutonium-powered Local S...
 
SearchLove London 2019 - Sarah Gurbach - Using Qualitative Data to Make Human...
SearchLove London 2019 - Sarah Gurbach - Using Qualitative Data to Make Human...SearchLove London 2019 - Sarah Gurbach - Using Qualitative Data to Make Human...
SearchLove London 2019 - Sarah Gurbach - Using Qualitative Data to Make Human...
 
SearchLove London 2019 - Marie Haynes - Practical Tips for Improving E-A-T
SearchLove London 2019 - Marie Haynes - Practical Tips for Improving E-A-TSearchLove London 2019 - Marie Haynes - Practical Tips for Improving E-A-T
SearchLove London 2019 - Marie Haynes - Practical Tips for Improving E-A-T
 
SearchLove Boston 2019 - Rand Fishkin - Building Influence in 2019
SearchLove Boston 2019 - Rand Fishkin - Building Influence in 2019SearchLove Boston 2019 - Rand Fishkin - Building Influence in 2019
SearchLove Boston 2019 - Rand Fishkin - Building Influence in 2019
 
SearchLove Boston 2019 - Courtney Cox Wakefield - Voice Search and Instant An...
SearchLove Boston 2019 - Courtney Cox Wakefield - Voice Search and Instant An...SearchLove Boston 2019 - Courtney Cox Wakefield - Voice Search and Instant An...
SearchLove Boston 2019 - Courtney Cox Wakefield - Voice Search and Instant An...
 
SearchLove Boston 2019 - Tom Anthony - Search in 2020: Technologies That Will...
SearchLove Boston 2019 - Tom Anthony - Search in 2020: Technologies That Will...SearchLove Boston 2019 - Tom Anthony - Search in 2020: Technologies That Will...
SearchLove Boston 2019 - Tom Anthony - Search in 2020: Technologies That Will...
 
SearchLove Boston 2019 - Derek Gleason - Benchmarking Success for Client Site...
SearchLove Boston 2019 - Derek Gleason - Benchmarking Success for Client Site...SearchLove Boston 2019 - Derek Gleason - Benchmarking Success for Client Site...
SearchLove Boston 2019 - Derek Gleason - Benchmarking Success for Client Site...
 
SearchLove Boston 2019 - Kameron Jenkins - The Modern Search Writer’s Toolkit
SearchLove Boston 2019 - Kameron Jenkins - The Modern Search Writer’s ToolkitSearchLove Boston 2019 - Kameron Jenkins - The Modern Search Writer’s Toolkit
SearchLove Boston 2019 - Kameron Jenkins - The Modern Search Writer’s Toolkit
 
SearchLove Boston 2019 - Joy Hawkins - 10 Ways to Get Results with Local SEO
SearchLove Boston 2019 - Joy Hawkins - 10 Ways to Get Results with Local SEOSearchLove Boston 2019 - Joy Hawkins - 10 Ways to Get Results with Local SEO
SearchLove Boston 2019 - Joy Hawkins - 10 Ways to Get Results with Local SEO
 

Dernier

The 100x Factor Growth with AI - Susan Diaz
The 100x Factor  Growth with AI - Susan DiazThe 100x Factor  Growth with AI - Susan Diaz
Brand experience Dream Center Peoria Presentation.pdf
Brand experience Dream Center Peoria Presentation.pdfBrand experience Dream Center Peoria Presentation.pdf
Brand experience Dream Center Peoria Presentation.pdf
tbatkhuu1
 

Dernier (20)

BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort Service
 
Major SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain DigitalMajor SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain Digital
 
What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?
 
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
 
SEO for Revenue, Grow Your Business, Not Just Your Rankings - Dale Bertrand
SEO for Revenue, Grow Your Business, Not Just Your Rankings - Dale BertrandSEO for Revenue, Grow Your Business, Not Just Your Rankings - Dale Bertrand
SEO for Revenue, Grow Your Business, Not Just Your Rankings - Dale Bertrand
 
Creator Influencer Strategy Master Class - Corinne Rose Guirgis
Creator Influencer Strategy Master Class - Corinne Rose GuirgisCreator Influencer Strategy Master Class - Corinne Rose Guirgis
Creator Influencer Strategy Master Class - Corinne Rose Guirgis
 
personal branding kit for music business
personal branding kit for music businesspersonal branding kit for music business
personal branding kit for music business
 
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
 
SEO Master Class - Steve Wiideman, Wiideman Consulting Group
SEO Master Class - Steve Wiideman, Wiideman Consulting GroupSEO Master Class - Steve Wiideman, Wiideman Consulting Group
SEO Master Class - Steve Wiideman, Wiideman Consulting Group
 
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
 
The 100x Factor Growth with AI - Susan Diaz
The 100x Factor  Growth with AI - Susan DiazThe 100x Factor  Growth with AI - Susan Diaz
The 100x Factor Growth with AI - Susan Diaz
 
Instant Digital Issuance: An Overview With Critical First Touch Best Practices
Instant Digital Issuance: An Overview With Critical First Touch Best PracticesInstant Digital Issuance: An Overview With Critical First Touch Best Practices
Instant Digital Issuance: An Overview With Critical First Touch Best Practices
 
Alpha Media March 2024 Buyers Guide.pptx
Alpha Media March 2024 Buyers Guide.pptxAlpha Media March 2024 Buyers Guide.pptx
Alpha Media March 2024 Buyers Guide.pptx
 
The Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfThe Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdf
 
Foundation First - Why Your Website and Content Matters - David Pisarek
Foundation First - Why Your Website and Content Matters - David PisarekFoundation First - Why Your Website and Content Matters - David Pisarek
Foundation First - Why Your Website and Content Matters - David Pisarek
 
Cash payment girl 9257726604 Hand ✋ to Hand over girl
Cash payment girl 9257726604 Hand ✋ to Hand over girlCash payment girl 9257726604 Hand ✋ to Hand over girl
Cash payment girl 9257726604 Hand ✋ to Hand over girl
 
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptxDigital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptx
 
Brand experience Dream Center Peoria Presentation.pdf
Brand experience Dream Center Peoria Presentation.pdfBrand experience Dream Center Peoria Presentation.pdf
Brand experience Dream Center Peoria Presentation.pdf
 
Unraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptxUnraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptx
 
BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort Service
 

SearchLove London | 'Jono Alderson', Turbocharging your Wordpress Website'

  • 1. Turbo-charging your WordPress* website Turbo-charging your WordPress website @jonoalderson
  • 2. I’m going to make you care about technical SEO. Turbo-charging your WordPress website @jonoalderson
  • 3. Jono Alderson Head of Insight @ Linkdex @jonoalderson Technical SEO + analytics geek Closet web developer & Wordpress fanatic Turbo-charging your WordPress website @jonoalderson
  • 4. So, like any good SEO, I needed a website. Turbo-charging your WordPress website @jonoalderson
  • 5. September 19th is Talk Like A Pirate Day Turbo-charging your WordPress website @jonoalderson
  • 6. Today is International Plush Animal Lovers Day Turbo-charging your WordPress website @jonoalderson
  • 7. Tomorrow is Cat Day and Internet Day Turbo-charging your WordPress website @jonoalderson
  • 8. ...and the whole of October is Pizza Month Turbo-charging your WordPress website @jonoalderson
  • 9. ! Turbo-charging your WordPress website @jonoalderson
  • 10. Turbo-charging your WordPress website @jonoalderson
  • 11. # links built zero Turbo-charging your WordPress website @jonoalderson
  • 12. # bloggers emailed zero Turbo-charging your WordPress website @jonoalderson
  • 13. Proactive outreach done zero Turbo-charging your WordPress website @jonoalderson
  • 14. Comment spam, guest posting, content spun zero Turbo-charging your WordPress website @jonoalderson
  • 15. Infographics zero Turbo-charging your WordPress website @jonoalderson
  • 16. Average words per page < 50* Turbo-charging your WordPress website @jonoalderson
  • 17. Budget zero* Turbo-charging your WordPress website @jonoalderson
  • 18. Wanna see? Turbo-charging your WordPress website @jonoalderson
  • 19. Turbo-charging your WordPress website @jonoalderson
  • 20. Turbo-charging your WordPress website @jonoalderson
  • 21. www.daysoftheyear.com Turbo-charging your WordPress website @jonoalderson
  • 22. When we started talking about content marketing, we stopped talking about technical optimisation. “on page” is not the same as “technical” Turbo-charging your WordPress website @jonoalderson
  • 23. Why should we care? Turbo-charging your WordPress website @jonoalderson
  • 24. Turbo-charging your WordPress website @jonoalderson
  • 25. Turbo-charging your WordPress website @jonoalderson
  • 26. Turbo-charging your WordPress website @jonoalderson
  • 27. Turbo-charging your WordPress website @jonoalderson
  • 28. Turbo-charging your WordPress website @jonoalderson
  • 29. Turbo-charging your WordPress website @jonoalderson
  • 30. Turbo-charging your WordPress website @jonoalderson
  • 31. We’ve all seen the impact of technical bugs/faults/etc. Broken pages, missing redirects, indexation faults, etc... Turbo-charging your WordPress website @jonoalderson
  • 32. Turbo-charging your WordPress website @jonoalderson
  • 33. Visualising Performance Seeing is believing Turbo-charging your WordPress website @jonoalderson
  • 34. Turbo-charging your WordPress website @jonoalderson
  • 35. Ditch the crappy metaphor! Yes, it works as a loose analogy, but it gives people permission to think about it in an abstract sense. Turbo-charging your WordPress website @jonoalderson
  • 36. Visualising Performance Speed ● Google PageSpeed Insights, ySlow ● Google Analytics ● Pingdom, WebPageTest* Turbo-charging your WordPress website @jonoalderson
  • 38. webpagetest.org Turbo-charging your WordPress website @jonoalderson
  • 39. An aside… Developers HATE this. There is no ‘site speed’ number which Google uses. Turbo-charging your WordPress website @jonoalderson
  • 40. Visualising Performance User Experience ● How’s it “feel”? Consider the psychology of the loading experience ● User experience index, general quality, give-a-damn ● Track it, benchmark it. Surveying and feedback tools Turbo-charging your WordPress website @jonoalderson
  • 41. Visualising Performance Technical optimisation & security ● Bandwidth/overhead optimisation ● Adoption of technologies (open graph, responsive images, caching, etc) ● Minimising risks of hacking, DDOS Turbo-charging your WordPress website @jonoalderson
  • 42. But wait, this really isn’t SEO…? Turbo-charging your WordPress website @jonoalderson
  • 43. So, let’s go. Turbo-charging your WordPress website @jonoalderson
  • 44. But first... bit.ly/searchlove-wordpress Turbo-charging your WordPress website @jonoalderson
  • 45. Turbo-charging your WordPress website @jonoalderson
  • 46. Visualising the stack Turbo-charging your WordPress website @jonoalderson
  • 47. Visualising the stack 1. Hosting Type Turbo-charging your WordPress website @jonoalderson
  • 48. Visualising the stack 2. Server Spec & Config Turbo-charging your WordPress website @jonoalderson
  • 49. Visualising the stack 3. Theme / CMS Turbo-charging your WordPress website @jonoalderson
  • 50. Visualising the stack 4. Domain(s) Turbo-charging your WordPress website @jonoalderson
  • 51. Visualising the stack 5. Media / Assets Turbo-charging your WordPress website @jonoalderson
  • 52. Visualising the stack 6. HTML & DOM parsing (and CSS + JS) Turbo-charging your WordPress website @jonoalderson
  • 53. Visualising the stack 7. Re-flow / re-paint, FPS Turbo-charging your WordPress website @jonoalderson
  • 54. Turbo-charging your WordPress website @jonoalderson
  • 55. So let’s start with something easy. My ‘must have’ WordPress plugins Turbo-charging your WordPress website @jonoalderson
  • 56. Don’t go anywhere without installing: W3 Total Cache* Redirection BWP Sitemaps Broken Link Checker iThemes Security* Akismet* Query Monitor Turbo-charging your WordPress website @jonoalderson
  • 57. You may also like... BWP Minify Yet Another Related Posts Plugin* YARPP Experiments Relevanssi* WP-PageNavi Kraken.io* Google Tag Manager for Wordpress User Role Editor Custom Post Type Permalinks Turbo-charging your WordPress website @jonoalderson
  • 58. Third Party Services Cloudflare (or MaxCDN) NewRelic An SSL certificate (ssl2buy.com) ...some kind of backup processes... ...and some proper hosting... Turbo-charging your WordPress website @jonoalderson
  • 59. What, no Yoast SEO? Turbo-charging your WordPress website @jonoalderson
  • 60. Stand up, Jim. Jim Seward, @iamoldskool Turbo-charging your WordPress website @jonoalderson
  • 61. “My wordpress seo tends to be limited to ‘install the yoast plugin’ and do the usual site stuff...” Jim Seward, @iamoldskool Turbo-charging your WordPress website @jonoalderson
  • 62. Is this really an issue? What are the experts doing? Turbo-charging your WordPress website @jonoalderson
  • 63. Turbo-charging your WordPress website @jonoalderson
  • 64. Turbo-charging your WordPress website @jonoalderson
  • 65. Turbo-charging your WordPress website @jonoalderson
  • 66. If everybody’s only running at 80%... ...Want the rest? Turbo-charging your WordPress website @jonoalderson
  • 67. Here’s the stuff nobody talks about. Turbo-charging your WordPress website @jonoalderson
  • 68. Turbo-charging your WordPress website @jonoalderson
  • 69. Buy yourself some hosting. You can only learn this stuff by doing Turbo-charging your WordPress website @jonoalderson
  • 70. Dedicated/tailored WordPress Hosting? Turbo-charging your WordPress website @jonoalderson
  • 71. DIY HOSTING Shared, Dedicated, or VPS *(vs Clusters & hardcore setups, AWS elastic cloud computing) Turbo-charging your WordPress website @jonoalderson
  • 72. Turbo-charging your WordPress website @jonoalderson
  • 73. Turbo-charging your WordPress website @jonoalderson
  • 74. Turbo-charging your WordPress website @jonoalderson
  • 75. cPanel Turbo-charging your WordPress website @jonoalderson
  • 76. Behind the curtain… Turbo-charging your WordPress website @jonoalderson
  • 77. Turbo-charging your WordPress website @jonoalderson
  • 78. Turbo-charging your WordPress website @jonoalderson
  • 79. Turbo-charging your WordPress website @jonoalderson
  • 80. Turbo-charging your WordPress website @jonoalderson
  • 81. http://codex.wordpress.org/ Turbo-charging your WordPress website @jonoalderson
  • 82. wp-config.php Security settings Auto update settings Limit revision & trash storage Cookie stuff Set memory allowance Force SSL Set language http://codex.wordpress.org/Editing_wp-config.php Turbo-charging your WordPress website @jonoalderson
  • 83. Expert tip... Reference the URL -> <- Page Template Hierarchy Turbo-charging your WordPress website @jonoalderson
  • 84. Expert Tip... You can use pre_get_posts to intercept and change how requests are processed Turbo-charging your WordPress website @jonoalderson
  • 85. URL Structures (Permalinks) Default /?p=%post-id% http://www.example.com/?p=123 Turbo-charging your WordPress website @jonoalderson
  • 86. URL Structures (Permalinks) ‘Pretty’ /%category%/%postname%/ http://www.example.com/cat/page/ Turbo-charging your WordPress website @jonoalderson
  • 87. URL Structures (Permalinks) ‘Flat’ /%post-id%-%postname%/ http://www.example.com/123-page/ Turbo-charging your WordPress website @jonoalderson
  • 88. Custom 503, maintenance & DB error pages Turbo-charging your WordPress website @jonoalderson
  • 89. Custom Error Files wp-content/maintenance.php wp-content/db-error.php <?php // Set headers before outputting the page HTML header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); header('Retry-After: 3600'); // 1 hour = 3600 seconds ?> <html> ... Turbo-charging your WordPress website @jonoalderson
  • 90. Other WP Crap… Turbo-charging your WordPress website @jonoalderson
  • 91. Expert Tip... Clean up WP and plugin overheads // Clean up wp_head() function cleanhead() { remove_action('wp_head', 'rsd_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action('wp_head', 'wp_generator'); remove_action('wp_head', 'feed_links_extra', 3 ); remove_action('wp_head', 'feed_links', 2 ); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); remove_action('wp_head', 'rel_canonical'); remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 ); } add_action('init', 'cleanhead'); Turbo-charging your WordPress website @jonoalderson
  • 92. Expert Tip... Clean up WP and plugin overheads // Ged rid of superfluous CSS function deregister_styles() { if (!is_admin()) { wp_deregister_style('avatars'); wp_deregister_style('imgareaselect') wp_deregister_style('avatar-manager.css'); wp_deregister_style('yarppRelatedCss'); } } add_action( 'wp_print_styles', 'deregister_styles'); Turbo-charging your WordPress website @jonoalderson
  • 93. Expert Tip... Kill unnecessary templates // Kill misc pages add_action('template_redirect', 'jono_nerf_pages'); function jono_nerf_pages() { global $wp_query, $post; if (is_day() || is_month() || is_year()) { header("HTTP/1.0 404 Not Found"); $wp_query->set_404(); } if (is_attachment()) { header("HTTP/1.1 301 Moved Permanently"); header("Location: ".get_permalink($post->post_parent)); exit; } if (is_feed()) { header("HTTP/1.0 404 Not Found"); $wp_query->set_404(); wp_query->is_feed = false; } if ((is_archive()) && (!have_posts())) { header("HTTP/1.0 404 Not Found"); $wp_query->set_404(); } } Turbo-charging your WordPress website @jonoalderson
  • 94. Turbo-charging your WordPress website @jonoalderson
  • 95. Your Theme Performance PHP & database Theme files and functions Plugins & widgets Turbo-charging your WordPress website @jonoalderson
  • 96. W3 Total Cache! Turbo-charging your WordPress website @jonoalderson
  • 97. I’m not going to tell you how to configure this. Your site is unique. Turbo-charging your WordPress website @jonoalderson
  • 98. Here’s a good place to start Turbo-charging your WordPress website @jonoalderson
  • 99. Turbo-charging your WordPress website @jonoalderson
  • 100. Turbo-charging your WordPress website @jonoalderson
  • 101. Turbo-charging your WordPress website @jonoalderson
  • 102. Turbo-charging your WordPress website @jonoalderson
  • 103. Turbo-charging your WordPress website @jonoalderson
  • 104. Turbo-charging your WordPress website @jonoalderson
  • 105. Expert Tip... You can move redirects from out of WordPress and into .htaccess from within the plugin admin Turbo-charging your WordPress website @jonoalderson
  • 106. Some things to watch out for... apple-touch-icon.png (and variants) favicon.ico (and variants) browserconfig.xml Invalid or un-used feeds invalid page/date ranges broken internal links (and missing http links) alternate sitemap and meta data urls pages & images with weird, breaking parameters security probes legacy urls Turbo-charging your WordPress website @jonoalderson
  • 107. Turbo-charging your WordPress website @jonoalderson
  • 108. Turbo-charging your WordPress website @jonoalderson
  • 109. Turbo-charging your WordPress website @jonoalderson
  • 110. Turbo-charging your WordPress website @jonoalderson
  • 111. The physical location of your server & media matters. Use a CDN Turbo-charging your WordPress website @jonoalderson
  • 112. Turbo-charging your WordPress website @jonoalderson
  • 113. Turbo-charging your WordPress website @jonoalderson
  • 114. Turbo-charging your WordPress website @jonoalderson
  • 115. MAGIC. Turbo-charging your WordPress website @jonoalderson
  • 116. Turbo-charging your WordPress website @jonoalderson
  • 117. Subdomains Rock. Serialisation of requests (and other cool stuff) Turbo-charging your WordPress website @jonoalderson
  • 118. Turbo-charging your WordPress website @jonoalderson
  • 119. *No need to create/configure subdomains in cPanel/WHM! Turbo-charging your WordPress website @jonoalderson
  • 120. Configure in W3TC as a “Generic Mirror” Cloudflare + Subdomains + W3 Total Cache = MAGIC Turbo-charging your WordPress website @jonoalderson
  • 121. Turbo-charging your WordPress website @jonoalderson
  • 122. Expert Tip... Redirect requests which resolve to your CDN subdomains (or other hostnames) // Redirect requests from non-primary domains function domain_redirect() { $hostname = $_SERVER['HTTP_HOST']; $mainDomains = array('www.daysoftheyear.com','app.daysoftheyear.com'); if (!in_array($hostname,$mainDomains)) { $uri = $_SERVER['REQUEST_URI']; wp_redirect( 'https://www.daysoftheyear.com'.$uri, 301 ); exit; } } add_action('init', 'domain_redirect'); Turbo-charging your WordPress website @jonoalderson
  • 123. Expert Tip... Use established CDNs to server common/large resources (like jQuery) // Use Google CDN for jQuery function modify_jquery() { if (!is_admin()) { wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js', false, '1.11.1'); wp_enqueue_script('jquery'); } } add_action('init', 'modify_jquery'); Turbo-charging your WordPress website @jonoalderson
  • 124. Turbo-charging your WordPress website @jonoalderson
  • 125. Turbo-charging your WordPress website @jonoalderson
  • 126. (Or W3 Total Cache) Turbo-charging your WordPress website @jonoalderson
  • 127. Before… After… Turbo-charging your WordPress website @jonoalderson
  • 128. Turbo-charging your WordPress website @jonoalderson
  • 129. HTTPS / SSL Change to protocol-relative URLs (//example.com/file/) References in CSS/JS & third party stuff Purchase & install key* (Cloudflare is MAGIC) Buy the right type (single, multi, wildcard) Tweak CDN config W3 Total Cache config Turbo-charging your WordPress website @jonoalderson
  • 130. Expert Tip... Database find & replace update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’); ...or cheat... “Search and Replace” plugin Turbo-charging your WordPress website @jonoalderson
  • 131. HTTPS / SSL Force SSL in wp-config.php (esp. if using Cloudflare) // Force SSL define('FORCE_SSL_ADMIN', true); if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on'; Turbo-charging your WordPress website @jonoalderson
  • 132. HTTPS / SSL Force SSL in .htaccess http://www.webhostinghub.com/help/learn/website/ssl/force-website-to-use-ssl Turbo-charging your WordPress website @jonoalderson
  • 133. Turbo-charging your WordPress website @jonoalderson
  • 134. Media Optimisation Pay attention to every detail. Kraken, but get it right first. Photoshop isn’t good enough; use dedicated kit Turbo-charging your WordPress website @jonoalderson
  • 135. File size is (sometimes) less important than #requests Turbo-charging your WordPress website @jonoalderson
  • 136. CSS Sprites Are super-awesome, and avoid extra requests Turbo-charging your WordPress website @jonoalderson
  • 137. Expert Tip... You can base64 encode images in your CSS Turbo-charging your WordPress website @jonoalderson
  • 138. Expert Tip... Change default media links // Change image default link function misc_change_image_default_link() { $image_set = get_option( 'image_default_link_type' ); if ($image_set !== 'none') { update_option('image_default_link_type', 'none'); } } add_action('admin_init', 'misc_change_image_default_link', 10); Turbo-charging your WordPress website @jonoalderson
  • 139. Expert Tip... Lowercase filenames // Lowercase filenames add_filter('sanitize_file_name', 'mfl_make_filename_lowercase', 10); function mfl_make_filename_lowercase($filename) { $info = pathinfo($filename); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; $name = basename($filename, $ext); return strtolower($name) . $ext; } Turbo-charging your WordPress website @jonoalderson
  • 140. Expert Tip... Responsive Images (without the overhead…) <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="small-image.jpg" media="(max-width: 480px)"> <source srcset="medium-image.jpg" media="(max-width: 720px)"> <source srcset="large-image.jpg" media="(max-width: 1024px)"> <source srcset="xlarge-image.jpg" media="(max-width: 1280px)"> <!--[if IE 9]></video><![endif]--> <img srcset="xlarge-image.jpg" alt="" /> </picture> Turbo-charging your WordPress website @jonoalderson
  • 141. Expert Tip... Responsive Images (without the overhead…) // Thumbnail sizes add_image_size( 'cols-1-small', 480, 314, array( 'left', 'top' ) ); add_image_size( 'cols-1-med', 720, 470, array( 'left', 'top' ) ); add_image_size( 'cols-1-large', 1024, 669, array( 'left', 'top' ) ); add_image_size( 'cols-1-xlarge', 1024, 669, array( 'left', 'top' ) ); add_image_size( 'cols-2-small', 240, 157, array( 'left', 'top' ) ); add_image_size( 'cols-2-med', 360, 236, array( 'left', 'top' ) ); add_image_size( 'cols-2-large', 512, 335, array( 'left', 'top' ) ); add_image_size( 'cols-2-xlarge', 512, 335, array( 'left', 'top' ) ); Turbo-charging your WordPress website @jonoalderson
  • 142. Turbo-charging your WordPress website @jonoalderson
  • 143. webpagetest.org Turbo-charging your WordPress website @jonoalderson
  • 144. Turbo-charging your WordPress website @jonoalderson
  • 145. Expert tip... NewRelic Turbo-charging your WordPress website @jonoalderson
  • 146. Expert tip... NewRelic Turbo-charging your WordPress website @jonoalderson
  • 147. Expert tip... NewRelic Turbo-charging your WordPress website @jonoalderson
  • 148. Turbo-charging your WordPress website @jonoalderson
  • 149. Expert Tip... Check your error_log file Turbo-charging your WordPress website @jonoalderson
  • 150. Turbo-charging your WordPress website @jonoalderson
  • 151. Turbo-charging your WordPress website @jonoalderson
  • 152. Turbo-charging your WordPress website @jonoalderson
  • 153. Turbo-charging your WordPress website @jonoalderson
  • 154. Turbo-charging your WordPress website @jonoalderson
  • 155. Stuff I haven’t talked about... Parent/child theme relationships PHP(!) Transient caching Device-type optimisation Awkward SSL stuff (chain certificates) CSS/JS optimisation WP Cron, Ajax & the Heartbeat API Browser reflow and repaint (That may own websites are a bit slow, and far from perfect!) Take it one step at a time. Turbo-charging your WordPress website @jonoalderson
  • 156. Stop mitigating against technical impact... ...Start capitalising on technical opportunity. Turbo-charging your WordPress website @jonoalderson
  • 157. Learn (some of) this stuff! And not just because you want to be “full stack”. Turbo-charging your WordPress website @jonoalderson
  • 158. And if you’re not at least thinking about this stuff…? Maybe all you’re doing is “marketing”. Turbo-charging your WordPress website @jonoalderson
  • 159. Google cares about this stuff... Because users do. Even if they don’t know they do. Turbo-charging your WordPress website @jonoalderson
  • 160. Aim for 100% (but get there one step at a time) Turbo-charging your WordPress website @jonoalderson
  • 161. WIN Turbo-charging your WordPress website @jonoalderson
  • 162. Jono Alderson Head of Insight @ Linkdex @jonoalderson (and also www.daysoftheyear.com) Turbo-charging your WordPress website @jonoalderson

Notes de l'éditeur

  1. Much of this is universally applicable; just often easier in WP
  2. *I’m working on this
  3. *I’m working on this
  4. £30 per month on hosting £10 for Cloudflare £3 for image compression
  5. Crawl quotas, indexation, etc.
  6. Senior buy-in. Convincing devs. Tracking impact & success
  7. We don’t use cute analogies for things like grammar or imagery. Why for tech? Accept that complicated is OK! Google is a machine, assessing your website. It looks at URLs and tries to ascribe equity to them based on signals. Everything you do which makes that harder, wastes their resources, or sends mixed signals should be business critical. Describe this properly, like grown ups.
  8. *these work in different ways. Scores based on detecting certain techniques - doesn’t measure actual speed Sampling based on JS triggers - sensitive to variations and blips, location, browser config, all sorts Monitoring the load stack - focuses heavily on TTFB, does a poor job of monitoring things like social plugins loading. Location is important. webpagetest is often ‘best’
  9. Speed is highly relative. Hardware, connectivity, location, bandwidth, weather, time of day, etc. White screen for 3 seconds then fully load instantly, or progressive loading over 4 seconds? Which is ‘faster’? Load everything *then* load images, or wait until it’s all done and display at once? “We’ve made it seem faster to the user” Obsession with either the front-end or the back-end Complete denial that performance is relevant, or that you’re qualified to understand/discuss it ROI estimations Arbitrary tool/score focus (if X says it’s faster than 5 seconds we’re fine!) - opportunity cost?
  10. How often is an experience genuinely “good”, or even, “not shit”!? Bounce rates and experiential factors are direct or indirect ranking factors. Broken links, Unnecessary clicks, Fuzzy images, Unclear errors, Display/CSS bugs The wrong / a sub-optimal page ranking(!), crappy pages indexed
  11. Adoption of cool stuff (e.g., OG, responsive images, optimised performance overheads) Risks of hacked sites, performance impact of DDOS attacks, wasted bandwidth/overhead
  12. Influencing the experience a searcher has during the search process is SEO. All of these drive the experience, and the relative perception of the experience. This drives feedback, engagement, and repeat business - signals and equity. This isn’t an abstract concept. If you’re doing SEO for a restaurant and food chain and you’re not critiquing the food, what you’re doing isn’t any different to buying links Yes, it’s a few steps from links and content. It’s still part of the mix.
  13. Great all-in-one, one-click optimisation But… lots of overhead. Lots of options. Lots of configuration options. My site only needs to work in one, optimised way. All that infrastructure is redundant. … but that’s the case with all sorts of things, and it’s the only viable way to create a great piece of kit. So.
  14. But.. My real gripe is that it stops people thinking. And that there are issues with it - EN_US OGP
  15. But.. My real gripe is that it stops people thinking. And that there are issues with it - EN_US OGP
  16. Top 10 London WordPress agencies use it, and all flawed. Is this a biased sample? No - it’s endemic..
  17. Great if you’re using Genesis or if you want to pay a lot of money for somebody else to worry about it… But often restrictive with what you can use, what’s compatible, etc. Less control[!]. Expensive! Often tailored to hosting multiple small sites.
  18. Hosting is all about servers. Servers are computers. They have hard-drives, RAM, CPUs. If you’re a “normal” website, VPS is often the best bet. Virtual private sever. A slice of a cluster. VPS usually has benefits of both with none of the disadvantages - but reliant on the provider knowing their stuff. Good hardware. Honesty. Throughput. Physical security. etc.
  19. Shared is NEVER good. Reliability. Scalability. Security. Unlimited! Easy! Bonus points! Free templates! BAD.
  20. DOTY got 1m uniques in August, which was ~2m pageviews. I pay ~£30 per month for hosting.* *some minor add ons (SSL, CloudFlare, Kraken)
  21. Email, FTP, SQL, PHPmyadmin. Start to see behind the curtain.
  22. Configuring gzip, memory allowance, security policies,
  23. Read plugin update notes! Check source code following update
  24. Highest performance; regex. Or vice-versa
  25. {{ Checking compatibility }} {{ Optimal settings for each area }} {{ Integrations with CloudFlare, NewRelic, Google }}
  26. Run in parallel to GWMT
  27. Bing’s ridiculous image requests Facebook!!
  28. Security threats!
  29. Longest single wait is often connect + receive* Nothing else can happen until this is done. More time processing, or more time delivering?
  30. Longest single wait is often connect + receive* Nothing else can happen until this is done. More time processing, or more time delivering?