Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPress & SEO - At Long Last Love

Horia Neagu
October 28, 2018

WordPress & SEO - At Long Last Love

Horia Neagu

October 28, 2018
Tweet

Other Decks in Technology

Transcript

  1. ## Start browser caching ## ExpiresActive On ExpiresByType image/jpg “access

    1 month” ExpiresByType image/jpeg “access 1 month” ExpiresByType image/gif “access 1 month” ExpiresByType image/png “access 1 month” ExpiresByType text/css “access 1 month” ExpiresByType text/html “access 1 month” ExpiresByType application/pdf “access 1 month” ExpiresByType text/x-javascript “access 1 month” ExpiresByType application/x-shockwave-flash “access 1 month” ExpiresByType image/x-icon “access 1 year” ExpiresDefault “access 1 month” ## End browser caching ## 1. Directly in the .htaccess file
  2. Worst offenders: • WPML (Alternative: TranslatePress) • BackupBuddy (Alternative: All-In-One

    WP Migration) • Broken Link Checker (Alternative: old school method – Screaming Frog) • Contact Form 7 (Solution: Caldera Forms or load CF7 JS only when necessary) • WPBakery Page Builder (formely Visual Composer) (Alternative: NONE) • Revolution Slider (Alterntive: NONE)
  3. • Load JS at the end of the page (Defer

    JS parsing OR load JS asynchronously) • Speed Booster plugin (defer) • Async JavaScript (async) • Generate CSS sprites: https://www.toptal.com/developers/css/sprite-generator
  4. • Implement DNS prefetching in page header, allowing you to

    resolve DNS lookups before the user clicks on a link. It can be used for: • CDN files • 3rd party files (Google Fonts, AdSense, tracking tools etc.) • Test your page speed with: • GTMetrix • Pingdom Tools • HAR Analyzer • Mobile speed test from Google • Google Analytics (site speed report)
  5. !!! The download size of the image should not exceed

    the maximum size that is going to be used on the website.
  6. • Have no mercy with useless code! Delete it! Less

    code is better. • But how? • Open Dev Tools (Chrome) • Show the Console Drawer • Click “Coverage”
  7. Look at all that useless code! DELETE! Make sure to

    check if the page still works after deleting the code.
  8. It’s a search result page. Brand filter: Apple Color filter:

    Black Search term: smartphone The solution? • Rel=“canonical” tag on the main search result page (the one with no parameters). • Adding a reference to the canonical page on all of the other variations. • Add a line in robots.txt: “Disallow: /*x*” (replace “x” with the parameter), but ONLY if there are no important URLs using parameters.
  9. • So we’re redesigning our website! Exciting! • We’re finally

    updating our old permalink structure! Yey! • At last! We’re switching over to WordPress! Hooray! But wait… what happens to all our old URLs?
  10. • Crawl your website with Screaming Frog (£150 / year)

    and make an inventory of all URLs. • Make a list of all the URLs that are going to change • Make a list with the new URLs • Create 301 redirects
  11. 1. Set up 301 in .htaccess: 2. Redirection plugins: •

    Redirection WordPress plugin • Simple 301 Redirects • Safe Redirect Manager • Yoast ADMIT IT! You were wondering when YOAST was going to make an appearance.
  12. Proper markup: • Use H1 on homepage for the site

    title. On other pages, the page title is the H1, while the site title is H2. • Use only one H1 tag per page. • Schema.org is kind of a big deal • WooCommerce: https://schema.org/Product • Blog: https://schema.org/Blog
  13. Proper markup: • Use H1 on homepage for the site

    title. On other pages, the page title is the H1, while the site title is H2. • Use only one H1 tag per page. • Schema.org is kind of a big deal • WooCommerce: https://schema.org/Product • Blog: https://schema.org/Blog Structured Data testing tool: https://search.google.com/structured-data/testing-tool/u/0/
  14. Proper pagination: • Use “prev” and “next” tags on post

    links • Use “prev” and “next” tags on paginated content (product category pages)
  15. If you can help it, don’t install a WP blog

    on a subdomain (blog.mysite.com)! Use a subdirectory (mysite.com/blog) Why? Because subdomains are treated as separate(-ish) domains. Incoming links will pass value to the subdomain (blog.mysite.com), but they will be less valuable for the main website (mysite.com).