Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tips for Running a Large Website Using Joomla

1,211 views

Published on

My name is Brad Markle, and I help manage the InMotion Hosting Support Center - http://www.inmotionhosting.com/support. Our Support Center has run Joomla for the last ~3 years, and in 2013 we made the migration from Joomla 1.5 to Joomla 3.0. At the time of this writing, we have over 7,000 pages published and are getting more than 90,000 hits from search engines each week. In this presentation I will talk about some of the problems we've faced running such a large website and some of the solutions we've come up with.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Tips for Running a Large Website Using Joomla

  1. 1. @bwmarkle
  2. 2. Large Website? What do you mean?
  3. 3. Lots Staff Traffic
  4. 4. How does Inmotion hosting .com compare?
  5. 5. google.com
  6. 6. # 1
  7. 7. craigslist.org
  8. 8. # 49
  9. 9. joomla.org
  10. 10. # 431
  11. 11. Inmotion hosting .com
  12. 12. # 1,596
  13. 13. OK, so we're not in the top 100 sites or anything like that.... But we get a good amount of traffic.
  14. 14. Tips for Running a Large Website Using Joomla Tip 1: Take Google Analytics to the next level with Custom Variables and Event Tracking
  15. 15. What is a Custom Variable?
  16. 16. Name + Value Mark Twain Author Ernest Hemingway Edgar Allan Poe
  17. 17. Name + Value John-Paul Briones Author Jeff Matson Brad Markle
  18. 18. How to use Custom Variables?
  19. 19. It's just 1 line of javascript
  20. 20. OK. 1 line of code. But how? … just look at our source
  21. 21. _gaq.push(['_setCustomVar',5, 'Author', 'BradM' ]); $this->item->author
  22. 22. How do you see Custom Variables in Analytics?
  23. 23. Key or Value? Custom Variable (Key 5) Custom Variable (Value 05) ______________________ John-Paul Author Jeff Brad
  24. 24. Great! 1. Custom Variable is setup 2. We know how to access variable in Analytics Now what?
  25. 25. Question: Which author brings in the most traffic?
  26. 26. Start off with traffic ...
  27. 27. … then add your authors
  28. 28. Question: Which author brings in the most traffic?
  29. 29. This guy! That's me!
  30. 30. but seriously....
  31. 31. Question: Which author has the most social shares?
  32. 32. Custom Variables
  33. 33. What is Event Tracking?
  34. 34. _gaq.push([ '_trackEvent', 'chat', 'launch' ]); This is our button, “Chat with us” When someone clicks on it, An event has just occurred.
  35. 35. How do you see Events in Analytics?
  36. 36. _gaq.push([ '_trackEvent', 'chat', 'launch' ]);
  37. 37. _gaq.push([ '_trackEvent', 'chat', 'launch' ]);
  38. 38. Explore Analytics See what you can find, like....
  39. 39. Which pages do users click “chat” on the most?
  40. 40. Custom Variables Event Tracking Custom Variables & Event Tracking together?
  41. 41. Custom Variables & Event Tracking together?
  42. 42. With this data you can...
  43. 43. Strike down your writers causing the most chats
  44. 44. Or...
  45. 45. Give praise to those whose writing helps people.
  46. 46. Tips for Running a Large Website Using Joomla Tip 1: Take Google Analytics to the next level with Custom Variables and Event Tracking
  47. 47. Tips for Running a Large Website Using Joomla Tip 2: Don't talk to bad bots, it's a waste of precious resources.
  48. 48. Bot Activity How much bot activity does your site get?
  49. 49. Bots may crawl your site looking for index.php?title=something
  50. 50. February 2014 we had how much mediawiki bot traffic? A: 1,000 B: 10,000 C: 100,000 D: 1,000,000
  51. 51. What were they looking for?
  52. 52. index.php? title=Auto_Insurance_In_Jacksonville_- _This_Month:_Get_Car_Insurance_In_Jacksonvill e_At_up_to_Half-Price index.php? title=A_Bit_More_About_Los_Angeles_Car_Insur ance index.php?title=Special:UserLogin&type=signup
  53. 53. 100,006 hits / month to pages that don't exist... ….So what?
  54. 54. 100,006 hits * 27 queries each 2,700,162 queries / month
  55. 55. BLOCK THE BOTS ● .htaccess ● Php ● ModSecurity
  56. 56. Bots.... another example
  57. 57. From our apache logs.... "POST /support/community-support/joomla- 25/index.php? option=com_jce&task=plugin&plugin=imgmanage r&file=imgmanager&method=form&cid=20&6bc4 27c8a7981f4fe1f5ac65c1246b5f=cf6dd3cf1923c9 50586d0dd595c8e20b HTTP/1.1" 400 232 "-" "BOT/0.1 (BOT for JCE)"
  58. 58. Basically... It's a URL for JCE
  59. 59. We don't use JCE, but... February 2014, we had... 80,975 requests that in the URL had BOT for JCE or option=com_jce
  60. 60. Tips for Running a Large Website Using Joomla Tip 2: Don't talk to bad bots, it's a waste of precious resources.
  61. 61. Tips for Running a Large Website Using Joomla Tip 2.5: Check your work.
  62. 62. 200 404 406 500 666
  63. 63. Tips for Running a Large Website Using Joomla Tip 2.5: Check your work.
  64. 64. Tips for Running a Large Website Using Joomla Tip 3: If you're not using Joomla's cache because of its pitfalls, find a work around.
  65. 65. Things to Watch When Using Page Caching ● It does not apply to the Administrator. OK ● It only applies to guest visitors (not logged in). OK ● Page caching does not work if Debug Site in Global Configuration is set to Yes. OK ● Articles hits will not increase when page caching is turned on (making any sorting options on hits ineffective). NOT OK
  66. 66. We enabled cache...
  67. 67. We loved it! … so far so good
  68. 68. Google is seeing our page download almost twice as fast!
  69. 69. The major problem for us...
  70. 70. If Joomla Caching is enabled Then # hits per article doesn't increase
  71. 71. Hmm... So how do we increase page hits when caching is enabled?
  72. 72. We got an idea!
  73. 73. First... We told Joomla to stop increasing page hits. … we'll take care of it ourselves.
  74. 74. We created a file.... increase_hits.php That if sent an article id.... 1234 Will add 1 to `hits`
  75. 75. increase_hits.php Pages served from cache Pages served fresh Article – ID:1234
  76. 76. Regardless of: Page = cached Page = NOT cached Hits will increase in the database
  77. 77. Great, article hits increase! But, hits shown is still cached.
  78. 78. 166,351 166,352 166,353 increase_hits.php
  79. 79. increase_hits.php 166,351
  80. 80. Regardless of: Page = cached Page = NOT cached Hits will increase on the front end
  81. 81. Tips for Running a Large Website Using Joomla Tip 3: If you're not using Joomla's cache because of its pitfalls, find a work around.
  82. 82. Tips for Running a Large Website Using Joomla Tip 4: Joomla will not be upset if you don't use a built in component.
  83. 83. ● Anchor Text ● All vs. Exact ● Articles graded higher than Forum
  84. 84. Tips for Running a Large Website Using Joomla Tip 4: Joomla will not be upset if you don't use a built in component.
  85. 85. Tips for Running a Large Website Using Joomla Tip 5: Template overrides are awesome! Make sure you know about them.
  86. 86. We use template overrides to quickly whip up helpful tools for our customers...
  87. 87. How to create a “tool” in 2 easy steps...
  88. 88. Step 1
  89. 89. Step 1. Create the Override /templates/TEMPLATE/html/com_content/article/whois.php
  90. 90. Step 2
  91. 91. Step 2. Create the Article
  92. 92. An den?........
  93. 93. if then
  94. 94. But.... Do not use that code in my last slide...
  95. 95. It's not safe
  96. 96. Tips for Running a Large Website Using Joomla Tip 5: Template overrides are awesome! Make sure you know about them.
  97. 97. @bwmarkle

×