Sunday 5 May 2019

Glossary

Linkbaiting
Linkbaiting is the practice of crafting content that is designed to get other content producers to link to it. The purpose is increasing the number of inbound links to your content and thus improving its performance in search engine results.


Wednesday 6 April 2016

Eliminating Bot Traffic from Google Analytics


Bots and Spiders

The first thing to understand is just what a Bot or Spider is. They are basically automated computer programs, not people, that are hitting your website. They do it for various reasons.

Sometimes it’s a search engine looking to list your content on their site. Sometimes it’s a program looking to see if your blog has new content so they can let someone know in their news reader. Sometimes it’s a service that YOU have hired to make sure that your server is up, that it’s loading speed is normal, etc.

The problems start when you learn that some of these computer programs that are running automatically CAN run the Google Analytics code and WILL show up as a hit in Google Analytics. Because it remains in your historical data, you’ll be forced to use segments to get rid of them also your total sessions will be affected by these bots.

The New Bot and Spider Filtering Feature

This feature will automatically filter all spiders and bots on the IAB/ABC International Spiders & Bots List from your data. (This is a list of spiders and bots that is continuously updated and compiled when people find new ones.) Generally membership to see this list costs from $4,000 to $14,000 a year, but by checking the little box on your view you get to utilize the list for free. A number of bots and spiders may slip through the list, but usually not for long, and hopefully not long enough to affect your data.

Caution on implementing

Make sure you have an unfiltered view in your property that has zero filters, and which you don’t check the box. This way if there is some sort of error, you’ll have your data in a pure state to go back and look at, and compare against. Create a new test view that mirrors your main one in every other respect, and then check the box.


More reading


Tuesday 28 July 2015

🔍 Google - "People also ask" PAA

People Also Ask (PAA) 

People Also Ask (PAA) is a feature in Google Search that displays a list of questions related to the searched query. It appears as an accordion-style list of questions at the top of the search results page. The feature allows users to quickly view answers to common questions related to the search query without even having to click into any of the actual search results.

Unfortunately, you cannot add content to the "People Also Ask" section of Google search results. This section is dynamic and populated automatically based on user search patterns.

Wednesday 17 June 2015

Multiple XML Sitemaps: Increased Indexation as well as Traffic!

Utilizing XML sitemaps and sitemap indices is an advanced tactic.

What Are XML Sitemaps?

Simply put, an XML sitemap is a bit of Extensible Markup Language (XML), a standard machine-readable format consumable by search engines and other data-munching programs like feed readers.

There are standard single XML sitemaps: one file of XML code explaining to the search engines what pages are important. This is a set of instructions to the search engines, and are more guidelines rather than rules. Posting an XML sitemap is kind of like rolling out the red carpet for search engines and giving them a roadmap of the preferred routes through the site.

From One to Many

The best way to break that out to many sitemaps is a matter of how your site is structured. Do you have a blog based system with categories and content in each category? Do you have sets of products? Or many locations for your business?

Simple: Groups of 100 pages per sitemap (or 1000, or 10000, but try to keep it smaller)
Better: Static Pages (homepage, about, etc.), Products, Blog
Best: Static, Categories, Subcategories, Locations, Blog by Date, etc.

Thursday 11 June 2015

Google Lite!

You can use Google to search for just about anything and get answers in a flash. But, when you’re searching on your phone, a slow connection can really hold things up.

To make sure you’re not waiting on Google when you need it most, we’ve rolled out a streamlined Search results page that loads fast, even on those slow connections. You’ll get all  the info you need in a simpler format that’s beautiful and easy to use. Best of all: there’s nothing new to download or  update — the lighter version will kick in automatically when needed!

Google is basically showing them a toned down version of your web page, stripping out the heavy images and files, on a special Google URL.

Google added a help page that lets you test your web page through the optimized Google version. The URL is http://icl.googleusercontent.com/?lite_url=[your_website_URL], replace [your_website_URL] with your URL, for example, this site would be https://icl.googleusercontent.com/?lite_url=http://yahoo.com&re=1

Google said they are testing this in Indonesia for users on slow connections such as 2G speed. Google said the tests have shown thus far to load four times faster than the original page and use 80% fewer bytes, plus they saw a 50% increase in traffic to these optimized pages.

Monday 8 June 2015

What is .htaccess?

.htaccess files (or “distributed configuration files”) provide a way to make configuration changes on a per-directory basis. A file, containing one or more configuration directives, is placed in a particular document directory, and the directives apply to that directory, and all subdirectories thereof.

Directives

“Directives” is the terminology that Apache uses for the commands in Apache’s configuration files. They are normally relatively short commands, typically key value pairs, that modify Apache’s behavior. An .htaccess file allows developers to execute a bunch of these directives without requiring access to Apache’s core server configuration file, often named httpd.conf(httpd.conf typically referred to as the "global configuration file")

Enabling .htaccess:

.htaccess files are normally enabled by default. This is actually controlled by the AllowOverride Directive in the httpd.conf file. This directive can only be placed inside of a <Directory> section. The typical httpd.conf file defines a DocumentRoot and the majority of the file will contain Directives inside a <Directory> section dealing with that directory. This includes the AllowOverride directive.

The default value is actually “All” and thus .htaccess files are enabled by default. An alternative value would be “None” which would mean that they are completely disabled. There are numerous other values that limit configuration of only certain contexts.

Checking if .htaccess is Enabled:

1 - is_htaccess_enabled

This test case is very simple. It uses a directive to make Apache look first for the “indexgood.html” file before “index.html.” If .htaccess support is enabled, when you point your browser to the folder, Apache will load the .htaccess file and know that it should display the “indexgood.html” page

# This Directive will make Apache look first
# for "index_good.html" before looking for "index.html"
DirectoryIndex index_good.html index.html

2 - is_htaccess_enabled_2
Any syntax error in your .htaccess file will cause the server to hiccup.
You can use this to your advantage to test if your server has .htaccess support enabled!

# This file is intended to make Apache blow up.  This will help
# determine if .htaccess is enabled or not!
AAAAAA

So, if you get back a page yelling
“Internal Server Error” then your server is looking for .htaccess files!

Consequences of .htaccess files:

- Always keep in mind that you’re affecting all of the subdirectories as well as the current directory.
- Also, when enabled the server will take a potential performance hit. The reason is because, every server request, if .htaccess support is enabled, when Apache goes to fetch the requested file for the client, it has to look for a .htaccess file in every single directory leading up to wherever the file is stored.

Headers

Let's start simple, we'll add a header to the Response and see what happens:

# Add the following header to every response
Header add X-HeaderName "Header Value"

I ran a test to check to see if certain modules were enabled on a web-server. I wrote the following check:

<IfModule mod_gzip.c>
  Header add X-Enabled mod_gzip
</IfModule>
<IfModule mod_deflate.c>
  Header add X-Enabled mod_deflate
</IfModule>

There is a difference between Header set and Header add. With add, the Header will always get added to the Response. Even if it happens to show up multiple times in the response. This is most often what you would want for custom headers. You would use set when you want to override the value of one of the default headers that Apache returns.

Custom error documents..

the usual method. the "err" folder (with the custom pages) is in the root
# custom error documents
ErrorDocument 401 /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php

# quick custom error "document"..
ErrorDocument 404 "<html><head><title>NO!</title></head><body><h2><tt>There is nothing here.. go away quickly!</tt></h2></body></html>

Save bandwidth with .htaccess!

it enables PHP's built-in transparent zlib compression.
<ifModule mod_php4.c>
 php_value zlib.output_compression 16386
</ifModule>

Expire Header

<IfModule mod_expires.c>
    ExpiresActive on

    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
</IfModule>

Compression by file extension
<IFModule mod_deflate.c>
<filesmatch "\.(js|css|html|jpg|png|php)$">
SetOutputFilter DEFLATE
</filesmatch>
</IFModule>

how to add the Vary Accept-Encoding header:

<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

compression by file type

####################
# GZIP COMPRESSION #
####################
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip

Header append Vary User-Agent env=!dont-vary
#End Gzip

Image Expire Tag

First we enable expirations and then we set a default expiry date for files we don't specify.
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On 
# Default directive
ExpiresDefault "access plus 1 month"
</IfModule>

# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"

Thursday 4 June 2015

Page Title Pixel Meter - Google not counts characters but pixels of a page title

The maximum width of a page title is between 466 and 496 pixels! (not by characters)
Since Google determines all by itself what to show as page title on a SERP, you better make sure that your expanded page title is relevant to the content.
E.g. filling a page title with 121 “|” characters won’t work – Google will replace your page title on the SERP.

Pixel width makes total sense for the search engines to use for their SERPs, but does make it harder for webmasters and SEOs to have control over their search snippets which is genuinely frustrating. Hence, best practice is really important here, ensure your key phrases are at the beginning of titles in particular to increase the likelihood they will be visible.

Preview Tool