Tips for Running a Large Website Using Joomla

Post on 04-Jul-2015

685 views 0 download

description

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.

Transcript of Tips for Running a Large Website Using Joomla

@bwmarkle

Large Website?

What do you mean?

Lots

Staff

Traffic

How does

Inmotion hosting .com

compare?

google.com

# 1

craigslist.org

# 49

joomla.org

# 431

Inmotion hosting .com

# 1,596

OK, so we're not in the top 100 sites or anything like that....

But we get a good amount of traffic.

Tips for Running a Large Website Using Joomla

Tip 1:

Take Google Analytics to the next level with Custom Variables and Event Tracking

What is a Custom Variable?

Name + Value

Mark Twain

Author Ernest Hemingway

Edgar Allan Poe

Name + Value

John-Paul Briones

Author Jeff Matson

Brad Markle

How to use Custom Variables?

It's just 1 line of javascript

OK. 1 line of code. But how?

… just look at our source

_gaq.push(['_setCustomVar',5,'Author','BradM'

]);

$this->item->author

How do you see Custom Variables in Analytics?

Key or Value?

Custom Variable (Key 5)

Custom Variable (Value 05)______________________

John-Paul

Author Jeff

Brad

Great!

1. Custom Variable is setup

2. We know how to access variable in Analytics

Now what?

Question:

Which author brings in the most traffic?

Start off with traffic ...

… then add your authors

Question:

Which author brings in the most traffic?

This guy!

That's me!

but seriously....

Question:

Which author has the most social shares?

Custom Variables

What is Event Tracking?

_gaq.push(['_trackEvent','chat','launch'

]);

This is our button,“Chat with us”

When someone clicks on it,An event has just occurred.

How do you see Events in Analytics?

_gaq.push(['_trackEvent','chat','launch'

]);

_gaq.push(['_trackEvent','chat','launch'

]);

Explore Analytics

See what you can find, like....

Which pages do users click “chat” on the most?

Custom Variables

Event Tracking

Custom Variables &Event Tracking together?

Custom Variables &Event Tracking together?

With this data you can...

Strike down yourwriters causing the

most chats

Or...

Give praise tothose whose writing

helps people.

Tips for Running a Large Website Using Joomla

Tip 1:

Take Google Analytics to the next level with Custom Variables and Event Tracking

Tips for Running a Large Website Using Joomla

Tip 2:

Don't talk to bad bots, it's a waste of precious resources.

Bot Activity

How much bot activity does your site get?

Bots may crawl your site looking forindex.php?title=something

February 2014

we had how much mediawiki bot traffic?

A: 1,000B: 10,000C: 100,000D: 1,000,000

What were they looking for?

index.php?title=Auto_Insurance_In_Jacksonville_-_This_Month:_Get_Car_Insurance_In_Jacksonville_At_up_to_Half-Price

index.php?title=A_Bit_More_About_Los_Angeles_Car_Insurance

index.php?title=Special:UserLogin&type=signup

100,006 hits / monthto pages that don't exist...

….So what?

100,006 hits * 27 queries each

2,700,162 queries / month

BLOCK THE BOTS

● .htaccess● Php● ModSecurity

Bots.... another example

From our apache logs....

"POST /support/community-support/joomla-25/index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&method=form&cid=20&6bc427c8a7981f4fe1f5ac65c1246b5f=cf6dd3cf1923c950586d0dd595c8e20b HTTP/1.1" 400 232 "-" "BOT/0.1 (BOT for JCE)"

Basically... It's a URL for JCE

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

Tips for Running a Large Website Using Joomla

Tip 2:

Don't talk to bad bots, it's a waste of precious resources.

Tips for Running a Large Website Using Joomla

Tip 2.5:

Check your work.

200404406500666

Tips for Running a Large Website Using Joomla

Tip 2.5:

Check your work.

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.

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

We enabled cache...

We loved it!

… so far so good

Google is seeing our page download almost twice as fast!

The major problem for us...

If Joomla Caching is enabled

Then # hits per article doesn't increase

Hmm...

So how do we

increase page hits

when caching is enabled?

We gotan idea!

First...

We told Joomla to stop increasing page hits.

… we'll take care of it ourselves.

We created a file....

increase_hits.phpThat if sentan article id....

1234

Will add 1 to `hits`

increase_hits.php

Pages served

from cache

Pages served

fresh

Article – ID:1234

Regardless of:

Page = cached

Page = NOT cached

Hits will increase in the database

Great, article hits increase!

But, hits shown is still cached.

166,351 166,352 166,353

increase_hits.php

increase_hits.php

166,351

Regardless of:

Page = cached

Page = NOT cached

Hits will increase on the front end

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.

Tips for Running a Large Website Using Joomla

Tip 4:

Joomla will not be upset if you don't use a built in component.

● Anchor Text● All vs. Exact● Articles graded higher than Forum

Tips for Running a Large Website Using Joomla

Tip 4:

Joomla will not be upset if you don't use a built in component.

Tips for Running a Large Website Using Joomla

Tip 5:

Template overrides are awesome! Make sure you know about them.

We use template overrides to

quickly

whip up

helpful tools

for our customers...

How to create a “tool” in

2 easy steps...

Step 1

Step 1. Create the Override

/templates/TEMPLATE/html/com_content/article/whois.php

Step 2

Step 2. Create the Article

An den?........

ifthen

But....

Do not use that code in my last slide...

It's not safe

Tips for Running a Large Website Using Joomla

Tip 5:

Template overrides are awesome! Make sure you know about them.

@bwmarkle