joomla seo & performance

65
How to rank high in Google with Joomla 2.5 and 3 JOOMLA SEO & PERFORMANCE

Upload: simon-kloostra

Post on 11-May-2015

1.618 views

Category:

Technology


4 download

DESCRIPTION

Joomla is a great CMS and if configured properly, can easily attract many visitors. You will have to optimize for Search Engines (SEO) then. You can do so by setting all relevant Joomla core options available, but to optimize fully, you may need extensions and plugins. Secondly, making your site easily accessible for both Visitors and Google is very important, and website speed is one of the key factors. Again, if configured properly (both with and without plugins), you can make your Joomla site lightning fast. Also check http://joomlaseo.com

TRANSCRIPT

Page 1: Joomla SEO & Performance

How to rank high in Google with Joomla 2.5 and 3

JOOMLA SEO & PERFORMANCE

Page 2: Joomla SEO & Performance

20 years in IT 4 years in Joomla Webdesign Webdesign website : SK-Web.nl Webshop: Hielspoorinfo.nl Blog about Joomla SEO & Performance: Joomla-seo.net  Also translated in French (http://alphadesign.fr/joomla/checklist-seo-pour-

joomla-referencement-joomla/) and Arabic (http://estemthal.com/) Ebook: Joomla 3.5 SEO & Performance (will be translated in dutch and french)

ABOUT SIMON KLOOSTRA

Page 3: Joomla SEO & Performance

ON-SITE SEOKeywordsHTML MarkupURL StructureSEF URL'sMeta-dataAnchor-text & ImagesPrevent duplicate URL's301-redirects404-errorssitemap.xml & robots.txtExtensions

OFF-SITE SEO

Google Webmaster ToolsGoogle AuthorshipGoogle PlacesLinkbuildingSocial MediaRich snippets

CONTENT (1)

Page 4: Joomla SEO & Performance

PERFORMANCE

Check website speedExtensions and templatesCachingG-ZipImage-sizeCSS & JS fi lesCDNMobile devicesWebhostExtensions

CONTENT (2)

Page 5: Joomla SEO & Performance

DETERMINE KEYWORDS

Brainstorm / logicGoogle search, use

suggestionsSeorch.eu websiteGoogle Adwords keyword toolAdwords for search volume and

competitionAfter site is live:

Google Analytics and Webmaster Tools

USE KEYWORDS

Sitename & URLTitles (Global Configuration)Meta-dataHeadersTextEverywhereDon't stuff itLocate at start of sentence /

string

KEYWORDS

Page 6: Joomla SEO & Performance

Use valid HTMLExternal CSS and JavascriptPreferably HTML5 with correct use of tags like <header>,

<article>, etc.Clean code (text / code ratio)Don't use tags like H1 just to enlarge text

HTML MARKUP IN YOUR TEMPLATE

Page 7: Joomla SEO & Performance

Avoid deep link structures:Bad: http://joomla-seo.net/joomla/seo/keywords/joomla-specific/keyword1 (=5 levels)

Use breadcrumbs if this cannot be avoidedNo more then 7 items per menuNot necessarily bad for SEO directly, but helps usability

URL AND MENU STRUCTURE

Page 8: Joomla SEO & Performance

Title (not arti cle ti tle, but <ti tle>, also visible in browser tabs)"URL"Meta-Descripti onMeta-Keywords (not used anymore)

META-DATA IN GOOGLE

Page 9: Joomla SEO & Performance

SEF = Search Enguine FriendlyConfigurable in Global Configuration

Non-SEF example: index.php?option=com_content&Itemid=117&id=10&lang=es&view=article

SEF example:article-alias

SEF URL'S (1)

Page 10: Joomla SEO & Performance

Switched on by default since Joomla 1.6

Use URL-rewriting to remove index.php part from URL

Requires renaming htaccess.txt to .htaccess in Joomla root

Watch out changing this on live sites, URLs will change

SEF URL'S (2)

Page 11: Joomla SEO & Performance

Joomla uses aliases (for articles, categories and menus) to create URLs

Actual URL depends on article being linked to menu-item or not.Default aliases are based on titleSometimes better to use your own alias for better URL

SEF URL'S (3)

Page 12: Joomla SEO & Performance

Max 65 characters If configured in Global Configuration , uses sitename:Then: (category +) article title if NOT linked to a menuOr: menu title if linked to a menuCan (must?) be overridden in " Page Display Options" in menu

configuration, see next slide If overridden, Sitename is still added

TITLE (1)

Page 13: Joomla SEO & Performance

TITLE (2)

Page 14: Joomla SEO & Performance

Don't abuse tags for display (no H1 just to enlarge)Use correct hierarchy -> H1, H2, H3, P, etc.Always ONE, but never more the ONE <H1> Decide how to achieve this in Joomla article's:

Use template overrideSet "Show title" to "No" and just type an H1 in the editorUse Page Display option if linked to menuUse extension (Header Tags)

H1 TITLES

Page 15: Joomla SEO & Performance

H1 TITLES

Page 16: Joomla SEO & Performance

Max 165 charactersExtremely important to set on every pageShould be unique, not identical on all pages! Google hates thisNot used by Google to establish ranking.......... Main reason: Click Through Rate (possibly massive eff ect)! Use your keywords in meta descriptionCreate for readers, should be enticing to click on.

META-DESCRIPTION & KEYWORDS (1)

Page 17: Joomla SEO & Performance

Set globally in "Global Configuration"Set for every single article (also category, contact, weblink, etc.)Can be set on menu-level (overrides article meta), but is less advisableMeta-keywords: set 2-3 globally and leave it at that, or simply do not use

META-DESCRIPTION & KEYWORDS (2)

Page 18: Joomla SEO & Performance

Easy Front-end SEO:Perfect for beginners, easy to use, and will cause no issuesAdd meta-data from front-endCan auto-generate meta-data (use with caution, check and correct)

META-DESCRIPTION & KEYWORDS (3)

Page 19: Joomla SEO & Performance

When creating links, set a descriptive anchor-textNot: "Click here"or "Download" If "Click here" cannot be avoided, use the "title" attribute to give

meaningUse internally for creating an internal link structure (aside: also

breadcrumbs are perfect for this)Best aid: JCE editor

ANCHOR-TEXT (1)

Page 20: Joomla SEO & Performance

ANCHOR-TEXT (2)

Page 21: Joomla SEO & Performance

Set correct dimensionsDon't use resizing with your editorGoogle cannot 'see' images, but reads filename and alt-text

Use filenames with your keywords (example: bird.jpg)Set a descriptive alt-text with the editorWith JCE, filename can be set as alt-text automaticallyProper set-up can be checked with www.feedthebot.com/tools/alt

OPTIMIZE IMAGES (1)

Page 22: Joomla SEO & Performance

OPTIMIZE IMAGES (2)

Page 23: Joomla SEO & Performance

Avoid using the same content on more pages, this is especially bad Joomla creates many "technical" duplicates They will not kill your rankings, but better is to avoid them Check your Google Webmaster Tools for any duplicate URL on a

regular basis

DUPLICATE URL'S (0)

A duplicate URL is a URL that shows exactly the same content as another URL on your site.

Page 24: Joomla SEO & Performance

Joomla creates menu duplicates for one article:/sample-sites /index.php/sample-sites (same with index.php)/index.php?option=com_content&view=article&id=2  (article

view)/index.php?

option=com_content&view=article&id=2&Itemid=10  (same, but linked to a menu through the ItemId

The same article with and without www in the url (or even https)With or without a trailing slashWith parameters like /sample-sites?font=large or othersPrint/Email view

DUPLICATE URL'S (1)

Page 25: Joomla SEO & Performance

Other causes for duplicate URL's:Someti mes even uppercase, lowercase issues In Joomla specifi cally: The same arti cle, reached from multi ple menu-itemsOther extensions

DUPLICATE URL'S (2)

Page 26: Joomla SEO & Performance

DUPLICATE URL'S (3)

Page 27: Joomla SEO & Performance

Set canonical tag <link href="/preferred-url" rel="canonical"/>Implemented in Joomla 3 (buggy?)

301 redirect to preferred URL using .htaccess (separate slide)Set up .htaccess for small issues like trailing slashes

DUPLICATE URL'S (4)

Page 28: Joomla SEO & Performance

www or non-www URL's: only use 1:Google Webmaster Tools: Validate both and set preferred domainReroute to preferred domain using 301-redirect:

DUPLICATE URL'S (5)

Page 29: Joomla SEO & Performance

Use robots.txt to inform Google which URL's not to index (separate slide)

Use an extension like SH404SEF, MijoSEF, etc. (separate slide) or Non-SEF to SEF (perfect for beginners)

Use Google Webmaster ToolsRemove duplicates with "Remove URL" optionwww or non-www preferenceRemove URL parameters like ?font=large (careful)

DUPLICATE URL'S (6)

Page 30: Joomla SEO & Performance

Joomla ships with a reeeaally ugly 404-page, change this to fi t your template

Create an article in Joomla with a nice error message and record the IDSet up error.php in your template folder

(copy from templates/system/error.php) in 2.5:defined('_JEXEC') or die; //Look up and addif (($this->error->getCode()) == '404') {header('Location: /index.php?option=com_content&view=article&id=999');exit;}

SET UP A 404-PAGE (1)

Page 31: Joomla SEO & Performance

In 3.1:defi ned('_JEXEC') or die;i f ( ! isset($this->error)){$this->error = JError: :raiseWarning(404, JText: :_( ' JERROR_ALERTNOAUTHOR')) ;$this->debug = false;}//get language and directi on$doc = JFactory: :getDocument() ;$this->language = $doc->language;$this->directi on = $doc->directi on;

i f ( ($this->error->getCode()) == '404') {header( 'Locati on: / index.php?opti on=com_content&view=arti cle&id= 999') ;exit ;}

?>

SET UP A 404-PAGE (2)

Page 32: Joomla SEO & Performance

404 errors should be avoidedLogical structure: www.website.com/products/shoes, make sure website

still works if "shoes" is removedMake sure URL's are rerouted if URL's are changed, like after renaming a

menu-itemLog 404-errors so you can correct them.

AVOID 404 ERRORS (1)

Page 33: Joomla SEO & Performance

Monitor using Redirect Component (enable redirect-plugin):

AVOID 404 ERRORS (2)

Page 34: Joomla SEO & Performance

301 tells Google to index the new page and keep the "authority" of the old page

Especially necessary if a site is changed or upgradedPro-acti ve bett er then re-acti vePro-acti ve: Before change:

Determine old URLs Determine new URLs Redirect old to new

Re-active: Aft er change Just monitor 404-errors Redirect logged errors

301-REDIRECTS (1)

Page 35: Joomla SEO & Performance

Monitor 404-errors in Redirect component and set a desti nati onExtension: RedJ, SH404SEF, etc. In .htaccess, especially for pro-acti ve use:

RewriteRule ^oldpage1\.html$ "http://www.newsite.com/newpage1" [R=301,L]RewriteRule ^oldpage2\.html$ "http://www.newsite.com/newpage2" [R=301,L]etc.

301-REDIRECTS (2)

Page 36: Joomla SEO & Performance

Robots.txt tells the bots from search enguines which URL's to ignoreUsed for directory structure, for Joomla content use the Robots settingShipped robots.txt is fine usually, except for one line:

Disallow: /images/ -> no images will be indexedRemove this line

Advanced: One short line will disallow al URL's with parameters, like non-SEF URL's, font-parameters etc. Be carefull not to block crucial pages:

Disallow: /*?*

ROBOTS.TXT

Page 37: Joomla SEO & Performance

Usually globally set to INDEX, FOLLOWAlternatives: NINDEX, NOFOLLOW in all combinationsCan be overriden per article or menuCould be useful for login-pages, service-page, category views, etc.

ROBOTS SETTING IN JOOMLA

Page 38: Joomla SEO & Performance

Generate sitemap from www.xml-sitemaps.com Use an extension like Xmap Review the generated sitemapSubmit to Webmaster Tools If done well, full sites may be indexed in 2 days

SITEMAP.XML

Page 39: Joomla SEO & Performance

SH404SEFMijoSEF JoomSEFEasy Frontend SEONon SEF to SEFCanonicalRedJMore, like extensions that auto-generate metadata (less advisable)

EXTENSIONS (1)

Page 40: Joomla SEO & Performance

SH404SEF:Similar to MijoSEF, JoomSEF, AceSEF (removed from JED)Reroutes non-SEF to SEFSet canonical tagMetadata and title managementMonitor and reroute 404-errorsAdditional features like short-URL's, social media, Analytics dashboard

and security, can all be switched offComplicated for beginning users, you MUST plan wellOnce configuration is set up, preferably don't touch If used incorrectly can screw up your site and Google rankings

EXTENSIONS (2)

Page 41: Joomla SEO & Performance

OFF-SITE SEO

Page 42: Joomla SEO & Performance

Register all your sites (validation via Analytics or HTML-fi le) Register www and non-www as separate sites and set preferred domain Set location for domains like .com, .net Register sitemap.xml (repeat for changed or new URL's) After live:

Monitor HTML-improvements Index-status Search traffi c (especially since Analytics shows "Not provided") Links to your site

Don't forget BING Webmaster Tools......

GOOGLE WEBMASTER TOOLS

Page 43: Joomla SEO & Performance

Google Authorship

Adds your face in SERP'sSet-up Google+Verify email on your domainPerfect for small companiesCan increase CTR

Google Places

MORE GOOGLE TOOLS: DO AS GOOGLE WANTS YOU TO DO

• Perfect for local business• Easy to set up

• Picasa• Youtube• Etc.

More....

Page 44: Joomla SEO & Performance

Outside scope of presentationBut: extremely importantBest: Great content that stimulates user to link to youOtherwise: Create your own links from authority sites:

Press-releasesDirectoriesLink-exchanges (carefull)

Make sure to keep a healthy link profi le Social media: Great if they generate traffi c, less important for SEO (yet)

LINKBUILDING AND SOCIAL MEDIA

Page 45: Joomla SEO & Performance

Seorch.euLipperhey.comSEO doctor (Firefox extension)Etc.

VERIFY YOUR WORK

Page 46: Joomla SEO & Performance

 HOW TO SPEED UP YOUR SITE, KEEP VISITORS HAPPY -> GOOD FOR SEO

Joomla Performance and Speed

Page 47: Joomla SEO & Performance

PageSpeed Insights from GoogleY-slow (as a browser extension)Pingdom ToolsGT-metrix (combines Pagespeed Insights and Y-slow in one go)Webpagetest.org

Actual loading ti me diff ers, but all provide very usefull data

CHECK BEFORE YOU MAKE CHANGES (1)

Page 48: Joomla SEO & Performance

CHECK BEFORE YOU MAKE CHANGES (2)

Page 49: Joomla SEO & Performance

Only load what you really needOnly install crucial front-end extensionsAvoid sliders (NOBODY clicks them, banner blindness)

http://shouldiuseacarousel.com/Avoid extensions loading from elsewhere (Facebook, Twitter,

Picasa, etc.), or move them away from Home Select your template carefullyYou could even de-install core- Joomla components, like

weblinks, contacts (or safer, de-activate)Keep up with updates (Joomla 3 is faster than 2.5), also for

PHP

EXTENSIONS AND TEMPLATES

Page 50: Joomla SEO & Performance

Caching is the mechanism of storing previous views on the server, allowing for loading stored views, without re-generating thisSome disadvantages:

Users might see old views, missing recently updated informationSome extensions don't function well, like shopping carts or contact forms.

TestAdvantages:

FastFast Fast

JOOMLA CACHING (1)

Page 51: Joomla SEO & Performance

1. Switch on cache in Global Confi gurati on, set to Conservati ve (can be overridden in modules)

2. Switch on "System-Cache" plugin (Leave "Use Browser Caching" to No, only usefull for sites where users oft er return to a page that they already accessed within a browsing session.)

JOOMLA CACHING (2)

Page 52: Joomla SEO & Performance

Some of the downsides of the caching mechanisms can be avoided with extensions:

NoNumber's CacheCleaner can very easily clean up your cache in the backend. You can also set to auto-clean aft er every Save-acti on, or with intervals. Very usefull.

JOT-Cache: Allows for very specifi c setti ng of cache parameters. You can set diff erent levels per page /extensions, etc.

Cache Control

JOOMLA CACHE (3)

Page 53: Joomla SEO & Performance

Supply your browser with informati on how and what to load from your siteETag - tells browsers when one image has already been downloaded and can be fetched

from the local browser cache instead from the serverExpires headers - similar to ETag but allows you to set diff erent expirati on ti mes for

diff erent fi le typesAddOutputFilterByType DEFLATE - minifi es the source code of your compiled HTML fi les

by removing empty lines, breaks and spacesCan be added automati cally by Jbetolo

LEVERAGE BROWSER CACHING (1)

Page 54: Joomla SEO & Performance

LEVERAGE BROWSER CACHING (2)

Page 55: Joomla SEO & Performance

G-ZIP packs your whole website in a zip-fi le which is decompressed in your browser. There should be  no issue in using it, and performance gain can be quite big. It is supported in all browsers. Server should support mod_gzip / mod_deflate

G-ZIP

Page 56: Joomla SEO & Performance

Make sure your images are properly sized, don't use your editor to make images smaller, actually resize them.

If possible, use sprites to minimize HTTP-requestsStrip images from unnecessary data:

Photoshop: Save for web and devices. Use correct image qualityYahoo's Smush.it (included in Jbetolo)TinyPNG.com: Excellent for .png, better than Smush.itGT-Metrix provides stripped images as well

IMAGE SIZE (1)

Page 57: Joomla SEO & Performance

IMAGE SIZE (2)

Page 58: Joomla SEO & Performance

Try to combine CSS and JS as much as possible to minimize HTTP-requests Defer or Async Javascr ipt i f possible (fi rst load s ite, then execute Javascr ipt) Compress fi les as much as possible. For MooTools and Jquery, use compressed versions Remove MooTools and Jquery completely i f unused (true for many smaller s ites) . For MooTools, use the

"MooTools enabler/disabler plugin" Check i f extensions don't place unused Javascr ipt

Example: SH404SEF loads Facebook Javascr ipt unless social plugin is disabled NoNumber ReReplacer can come in handy for removing unwanted Javascr ipti f ( typeof( lpcurruser) == 'undefi ned') lpcurruser = ' ' ; i f (document.getElementById( ' lpcurruserelt ' ) && document.getElementById( ' lpcurruserelt ' ) .value != ' ' ) { lpcurruser = document.getElementById( ' lpcurruserelt ' ) .value; document.getElementById( ' lpcurruserelt ' ) .value = ' ' ; } i f ( typeof( lpcurrpass) == 'undefi ned') lpcurrpass=' ' ; i f (document.getElementById( ' lpcurrpasselt ' ) && document.getElementById( ' lpcurrpasselt ' ) .value != ' ' ) { lpcurrpass = document.getElementById( ' lpcurrpasselt ' ) .value; document.getElementById( ' lpcurrpasselt ' ) .value = ' ' ; } var lploc=1;var lponlyfi l l=nul l ;var l ink=document.getElementById(" i1668"); i f ( l ink&&typeof(g_lpcl icked)=="undefi ned"){if(document.createEventObject){var evt = document.createEventObject() ; l ink.fi reEvent("oncl ick",evt) ;}else{var evt2 = document.createEvent("MouseEvents") ;evt2. initMouseEvent("cl ick", true, true, document.defaultView, 1, 0, 0, 0, 0, fa lse, fa lse, false, fa lse, 0, nul l ) ; l ink.dispatchEvent(evt2);}g_lpcl icked=1;} i f( lploc==3){var pholders=["idDiv_PWD_UsernameExample"," idDiv_PWD_PasswordExample"," i0116_hint"," i0118_hint"] ; for(var i=0; i

CSS AND JAVASCRIPT (1)

Page 59: Joomla SEO & Performance

JCH Optimize is a plugin that can handle all previously mentioned actions for CSS and Javascript. It can also generate sprites to reduce HTTP-requests for images.

Some options may need to be disabled, like combining CSS and deferring Javascript

Other plugin like this :Jbetolo, ScriptMerge

Try either one (not together), benefi ts can be huge!

CSS AND JAVASCRIPT (2)

Page 60: Joomla SEO & Performance

A CDN stores stati c resources like images, css and javascript on multi ple off -site locati ons around the globe that are opti mized to deliver fast.

Some providers:Amazon, Google, MaxCDN, Cloudfl are

Especially useful for sites operati ng world-wide, large countries or locati ons with slow internet connecti ons

Siteground off ers free Cloudfl are without any confi gurati on (only with www-sites)Extensions:

CDN for Joomla (NoNumber)JBetoloJomCDN (CorePHP)

CONTENT DELIVERY NETWORK (1)

Page 61: Joomla SEO & Performance

Example with Amazon Cloudfront and NoNumber CDN for JoomlaCreate Amazon account and sign up with CloudfrontCreate a distributi on: and record the Domain Name Install CDN for Joomla and confi gure plugin with Domain Name

CONTENT DELIVERY NETWORK (2)

Page 62: Joomla SEO & Performance

Mobile devices often operate without wifi, so sites load slower. Possible solutions:

Use different template for mobileLoad content based on device:

User Agent Detector (Rene Kreijeveld)NoNumber Advanced Module Manager

MOBILE DEVICES

Page 63: Joomla SEO & Performance

Look for a host that knows Joomla and has optimized their serversPHP up to datePossible options for further optimizationFor sites operating world-wide: nice to select location for data center

(USA, Europe, Asia)Large diff erences between hosts

WEBHOST

Page 64: Joomla SEO & Performance

Many

EXTENSIONS

Page 65: Joomla SEO & Performance

CHECK AGAIN