18 Best SEO interview Questions 2015 . Write Answers in comment section.

Q1.  if a page include more than one rel=”canonical” then Google will …..

A. Ignore them all.
B. Count the first one.
C. Count the last one.

Q2. When including Open Graph (OG) tags on a webpage, which of the following is NOT a required property?

A: og:title
B: og:description
C: og:image
D: og:url
E: og:type
Q3. What is the optimal HTTP status code to permanently remove a URL from Google’s index?

A: 301
B: 302
C: 404
D: 410
E: 500
Q4.  Best practices for rel=”canonical” link elements include:
A: Relative URLs
B: Absolute URLs
C: Nofollow the link element
Q5  Which of the following are true about the growth of mobile vs. desktop search in Google?

A: Mobile search queries overtook desktop in 2013 and are expected to continue growing faster.
B: Desktop search queries are now shrinking, and mobile is growing, but will not overtake desktop in the next 2-3 years.
C: Both desktop and mobile are growing, but mobile is growing faster and is expected to overtake desktop in the next 1-2 years.
D: Desktop is not growing (but not shrinking much). Mobile is expected to overake desktop in number of queries by 2016.

Q6  The X-Robots-Tag should be located:

A: In your robots.txt file
B: In the <head>
C: In the HTTP headers
D: Anywhere inside the <body> element
E: In Robert Downey Jr.’s basement
Q7. What is the maximum number of URLs typically allowed in an XML sitemap file?

A: 500
B: 5,000
C: 50,000
D: 500,000
E: 5,000,000
Q8. The minimum REQUIRED tags in an XML sitemap include:

A: <urlset>
B: <url>
C: <loc>
D: None of these
E: A, B, and C
Q9.  What is an example of a “soft” 404 error?

A: A page that returns a 404 HTTP response code, but quickly changes to a 200 a short time later.
B: A page that returns a 200 HTTP response code, and displays a blank page.
C: A page that displays a 404 HTTP response code, and displays a 404 error page.
D: A page that returns a 404 code with pillows.
Q10. How can meta description tags help with the practice of search engine optimization?

A: They’re an important ranking factor in the search algorithms.
B: They help to tell the search engines which keywords are most important on your page.
C: They serve as the copy that will entice searchers to click on your listing.
D: Trick question; meta descriptions are NOT important.

 

Q11. Which of the following would be the best choice of URL structure (for both search engines and humans)?
D: text.wildlifeonline.com/category/crocodile
Q12. Which group of ranking factors do SEOs generally consider to have the largest influence on rankings?
A: Engagement Metrics
B: Social shares
C: Link-based metrics
D: Site speed
E: Exact match domains
Q13.  True or false: For best results, incorporate authorship markup on every page of your website, including the homepage and category pages.

A: TRUE
B: FALSE
Q14. Which HTTP status code is best to serve when your site is down for maintence?
A: 200
B: 302
C: 404
D: 503
E: 90210
Q15.  What are valid reasons why your webpage’s title may not appear in Google’s search results exactly as it does in the page title element in your HTML?

A: Google has overwritten your title element with a title taken from the Yahoo! Directory.
B: Your title does not contain your brand name or other key terms in the users’ search query (or doesn’t include them at the start of the title element), so Google is using text from elsewhere on the page.
C: Google is pulling a title for your webpage from one you entered into an AdWords ad for that URL (that produces a higher clickthrough rate).
D: Your page contains the meta “title-h1″ tag specifying that Google should use the text within the H1 in place of the title element for the search results listing
E: Both options B & D
Q16. In general, internal links pass about the same value as external links.

A: TRUE
B: FALSE
Q17. Implementing structured data may help:

A: Lead to rich snippets in search results
B: Enchance CTR from search engine results
C: Search engines understand your content
D: Your content to appear in specialized search results like “in-depth Articles”
E: All of these
Q18. Which of the following types of sitemaps is NOT supported by Google?
A: News
B: Product
C: Image
D: Mobile
E: Video
NOTE : Please put your valid answer in comment box, we will approve them and send your full answer sheet to your mailbox.
Written by Piyush Yadav

Difference between Universal Analytics and Google Analytics

Difference between ga.js and analytic.js is comes under following things.

  1. Data Collection and integration
  2. Data Processing
  3. Custom Dimensions and metrics
  4. Custom variables
  5. User Interface
  6. Javascript library
  7. Tracking Code
  8. Technical Knowledge
  9. Referrals Processing
  10. Cookies
  11. Privacy and data usage

Data Collection and Integration

  • Universal Analytics (UA) provides more ways to collect and integrate different types of data than Google Analytics (GA).
  • Through UA you can integrate data across multiple devices and platforms. This is something which is not possible with GA.
  • Consequently UA provides better understanding of relationship between online and offline marketing channels that drive sales and conversions than GA.

Data processing

  • The date processing in UA is visitor based instead of visit based.
  • Consequently UA is more visitor centric than visit centric.

Custom Dimensions and Metrics

  • In UA you can create and use your own dimensions and metrics to collect the type of data GA does not automatically collect (like phone call data, CRM data etc).
  • These user defined dimensions and metrics are known as ‘custom dimensions’ and ‘custom metrics’.
  • Through custom dimensions you can import additional data into your analytics account.
  • GA does not allow you to define your own dimensions and metrics.

New Custom Dimensions & Custom Metrics

Custom dimensions and custom metrics are like default dimensions and metrics in your Analytics account, except you create and define them yourself. They’re powerful tools you can use to collect and segment data that Google Analytics doesn’t automatically track, like product details, levels in games, or authors of content pages.

More configuration options

Universal Analytics gives you more configuration options in your Google Analytics account, so you don’t have to adjust your tracking code to make modifications. From the Admin page in your account, you can now control these settings:

  • Organic search sources
  • Session and campaign timeout handling
  • Referral exclusions
  • Search term exclusions

Custom Variables

  • UA uses custom dimensions instead of custom variables
  • GA uses custom variables instead of custom dimensions.
  • Though ‘custom dimensions’ are not available in GA, custom variables are still available in UA (although not sure for how long)

 

User Interface

  • Interface wise both UA and GA reports look the same.
  • The difference is in how each collect, integrate and process the data.
  • However once you start using custom dimensions and custom metrics, your UA reports may look very different from your GA reports.

 

JavaScript Library

  • UA uses ‘analytics.js’ JavaScript library whereas GA uses ‘ga.js’ JavaScript library.
  • The ‘analytic.js’ library is similar to ‘ga.js’ library but provides new set of features for collecting and integrating data.

Technical Knowledge

To use all the features of UA you need good technical knowledge of your development environment/ platform or you should know someone who has such knowledge.

Otherwise you may have a hard time using custom dimensions, custom metrics and integrating data across multiple devices/ platforms.

Without this technical knowledge, UA is not very useful  for you. This is not really the case with GA.

 

Referrals Processing

In UA referrals are processed differently.

By default all referrals trigger a new web session in UA. This can affect the total number of web sessions in your analytics reports.

For example: let us suppose a visitor arrived on the website http://www.abc.com from http://www.xyz.com then returned back to http://www.xyz.com.

When the visitor arrived on the website http://www.abc.com from http://www.xyz.com, it will trigger a new web session for abc.com website. When the visitor returned back to http://www.xyz.com from http://www.abc.com, it will trigger another new web session for xyz.com:

In UA referrals are processed differently

If you do not want the new web session to be triggered when the visitor returned to http://www.xyz.com from http://www.abc.com then you need to exclude referrals from http://www.abc.com.

Cookies

Cookie is a text file which is used to store information about a visitor, his preferences, location, browsing behaviour and other details.

While GA can use up to 4 cookies (_utma,_utmb,_utmz and _utmv) to collect visitors’ usage data, UA uses only 1 cookie (called _ga).

Related article: Google Analytics & Universal Analytics Cookies – Complete Guide

Privacy and Data usage

Google warns against collecting any personally identifiable data in your UA accounts. Google can terminate your analytics account if you breach this policy.

You need to give your end users proper notice and get consent about what data you will collect via UA. You also need to give your end users the opportunity to ‘opt out’ from being tracked.

That means you need to make changes in your privacy and data usage policies. Google recommends using Google Analytics opt out browser add on if you want to block Google Analytics.

Note: You can learn more about the UA usage guidelines from here and about the privacy from here.

Server Side Configuration settings in Universal Analytics

UA lets you change following server side configuration sections via the account admin:

  1. Change session and campaigns timeout settings.
  2. Add/delete search engines
  3. Exclude referral traffic sources
  4. Exclude search terms

Server Side Configuration settings in Universal Analytics

In case of GA you need to add special tracking codes to all the web page on your website to change each of the aforesaid server side configurations.

UA has simplified changing these server configurations by providing easy to use controls in the account ‘admin panel’ which don’t require editing the existing tracking code on every web page of your website.

 

The Measurement Protocol

UA uses a new measurement protocol (a protocol is a set of rules) which let you send data from any device/system/environment (including smartphones, tablets, call center data, digital appliances, point of purchase systems or any online or offline customer contact point) to your Google Analytics account provided you have formatted your data according to the protocol.

Through this protocol you can import offline conversion data into GA. The measurement protocol includes a new JavaScript library called ‘analytics.js’.

Just like GA, Universal Analytics tracking code also request an invisible file called ‘_utm.gif’ each time a web page is loaded into the browser to send tracking data to the analytics server. This GIF request is pretty long and looks something like the one below:

http://www.google-analytics.com/__utm.gif?v=1&_v=j31d&a=883600465&t=pageview&_s=1&dl=http%3A%2F%2Fokdork.com%2F&ul=en-gb&de=UTF-8&dt=OkDork.com%20%7C%20Noah%20Kagan’s%20Blog%20About%20Marketing%20and%20More&sd=24-bit&sr=1600×900&vp=1583×330&je=1&fl=15.0%20r0&_u=MACAAAQBI~&jid=1551246513&cid=1701241469.1413716603&tid=UA-52269-5&_r=1&z=1412809081

Note: In case of UA the parameters of the _utm.gif are different than that of GA.

To learn more about the Measurement Protocol, check out the article: Understanding Universal Analytics Measurement Protocol

 

Setting up new Universal Analytics Account

Follow the steps below to set up your new Universal Analytics account:

Step-1: Get administrative access to your Google Analytics account.

Step-2: Go to ‘Admin’ area and from the property drop down menu, select ‘create new property’.

Setting up new Universal Analytics Account

This will create a new ‘web property’ in your existing Google Analytics account.

Step-3:

new-property

Once you have completed the form, click on the ‘Get Tracking ID’ button
universal-analytics-tracking-code

The UA tracking code will now appear in a box. Copy-paste this tracking code in the head section (<head>….</head>) of every web page on your website. Remove the old Google Analytics tracking code at the same time.

Step-5: Check the source code of the home page and other web pages on your website and look for ‘analytics.js’. If you can see this JavaScript library in your HTML code then the website is using the UA tracking code. Also check your real time reports to make sure that you are getting data into your Universal Analytics reports.

Step-6: Change server side configuration options via your Admin panel (explained later in this article).

Step-7: Set up custom dimensions and custom metrics (if required).

Change session and campaigns timeout settings

Go to the ‘Admin’ area of your account and then click on ‘Session Settings’ link under ‘Tracking Info’ drop down menu.
Change session and campaigns timeout settings

By default both GA and UA ends a web session after 30 minutes of inactivity on a website or when the browser window is closed.

By default the attribution to a marketing campaign expires (timeout) after 6 months from the last time a visitor visited your website.

There are certain situations in which you may need to change the default time when a web session or a marketing campaings ends.

For example:

1. If your website automatically logs out a visitor say after 2 minutes of inactivity (common in case of bank websites) or if visitors spend 5 minutes on an average on your website then it doesn’t make any sense to end a web session after 30 minutes of inactivity.

May be a session timeout of 5 minutes will be better in this case.

Choose a session timeout which matches to the average time spent on your website/web pages (verify this trend over a long period of time: at least 3 or more months).

Note: Your web session can not be less than 1 minute or greater than 4 hours.

 

2. Majority of marketing campaigns become irrelevant for conversion attribution after few weeks. So it doesn’t make any sense to set campaign timeout to 6 months.

Choose a campaign timeout which matches to the time you think your campaigns will remain relevant for attributing conversions.

Note: Your campaign timeout can not be greater than 24 months (2 years)

 

To change Session timeout in GA use _setSessionCookieTimeout() method. Similarly, to change Campaign timeout in GA use _setCampaignCookieTimeout() method.

Following is an example of how you can call these methods in your Google Analytics Tracking Code:

Session timeout in GA use _setSessionCookieTimeout() method

To be continued : Original Source : http://www.optimizesmart.com/beginners-guide-to-universal-analytics-creating-custom-dimensions-metrics/

SEO Copywriter : Piyush Yadav 

@seobysearch.com

 

What do you mean by Domain Cross linking ?

If you want to add more business and you already think about making 20-30 websites and linked each other then it is call Domain Cross-linking. If you add rel=”nofollow” then at least this is showing your good sense of SEO.

But still Domain Cross linking is not good for SEO. Its looks spam if your website shows different different business and linking each other.

In a interview, Google web spam head Matt Cutt says that cross linking is OK if your business located a different different location. Means multiple domains and works for same company, It make sense link between them. But if you want to same as Matt Cutt believes then follow 2 points: 

1. Don’t use foot links; use a country locator page

2. Keep them normal static HTML.

cross-linking

Written By :

Piyush Yadav

SEO @seobysearch

How to set up Custom Dimensions and Metrics in Google Analytic ?

how to set up custom dimensions and metrics

 What are dimensions and metrics?

A Metric is count of some data type like pages views or Avg. Session views and % of CTR. Dimensions are those data types that gives a information like Cities, Screen Name, Browsers and Devices.Google Analytics offers over 200 pre-defined dimensions and metrics.

Using custom dimensions and metrics, you can define your own dimensions and metrics.

Why are custom dimensions and metrics useful?

Custom dimensions and metrics allow you to bring data you might have outside of Google Analytics. For example: 1.  If you store the gender of signed-in users in a CRM system, you might want to combine that with your Google Analytics data to see page-views by gender.  2. If you’re a game developer, metrics like level completions or high scores may be more relevant to you than pre-defined metrics like screen views or average time on site.

How are custom dimensions different from custom variables?

The fundamental difference between the two is that custom dimensions are primarily managed on the server side, whereas custom variables are primarily managed on the client side.

  • Using Custom Dimensions, Less data needs to be sent in each hit. Only the index and value need to be sent at collection time.
  • Custom dimension definitions are more flexible, Name and Scope can be edited in Property setting without modification in Code.
  • Each property has 20 available custom dimension indices, while custom variables are managed on the client side in five custom variable “slots” per property.

Understanding Custom Dimensions and Metrics

The lifecycle of a custom dimension or metric has four stages:

  • Configuration – you define your custom dimensions and metrics with an index, a name, and other properties like scope.
  • Collection – you send custom dimension and metric values to Google Analytics from your implementation.
  • Processing – your data is processed using your custom dimension and metric definitions and any view (profile) filters.
  • Reporting – you build new reports using your custom dimensions and metrics in the web interface.

Configuration

When you define a custom dimension or metric, you specify its name and other configuration values at a particular index. Custom Dimensions have the following configuration values:

  • Name – the name of the custom dimension as it will appear in your reports.
  • Scope – specifies to which data the custom dimension or metric will be applied. Learn more about Scope.
  • Active – whether the custom dimension or metric value will be processed. Inactive custom dimensions may still appear in reporting, but their values will not be processed.

Custom metrics have the following configuration values:

  • Name – the name of the custom metric as it will appear in your reports.
  • Type – determines how the custom metric value will be displayed in reports.
  • Minimum / Maximum Value – the minimum and maximum values that will be processed and displayed in your reports.
  • Active – whether the custom metric value will be processed. Inactive custom metrics may still appear in reporting, but their values will not be processed.       [In My Next Session of Blogs : Read about : Collection, Processing, & Reporting ]

Read How to Set up custom dimensions

  1. Sign in to Google Analytics.
  2. Select the Admin tab and navigate to the property to which you want to add custom dimensions.
  3. In the PROPERTY column, click Custom Definitions, then click Custom Dimensions.
  4. Click New Custom Dimension.
  5. Add a Name.
    This can be any string, but use something unique so it’s not confused with any other dimension or metric in your reports.
  6. Select the Scope.
    Choose to track at the Hit, Session, User, or Product level. Read more about scope and how custom dimensions are processed in our Developer Guide.
  7. Check the Active box to start collecting data and see the dimension in your reports right away. To create the dimension but have it remain inactive, uncheck the box.
  8. Click Create.

Read How to Set up custom metrics

  1. Sign in to Google Analytics.
  2. Select the Admin tab and navigate to the property to which you want to add custom metrics.
  3. In the PROPERTY column, click Custom Definitions, then Custom Metrics.
  4. Click the New Custom Metric button.
  5. Add a Name.
    This can be any string, but use something unique so it’s not confused with another dimension or metric in your reports.
  6. From the Formatting Type dropdown, select an Integer, Currency, or Time.
    An integer can be any number. The currency type will match the view settings (i.e., USD, Yen, etc.) and should be entered as a decimal number. Specify time in seconds, but it appears as hh:mm:ss in your reports.
  7. Check the Active box to start collecting data and see the metric in your reports right away. To create the metric but have it remain inactive, uncheck the box.
  8. Click Create.

Modify your tracking code

After you create custom dimensions or metrics in your property, you must also modify your tracking code. This should be completed by a qualified developer. Follow the instructions in the Developer Guide for your specific environment:

Edit custom dimensions and metrics

Custom dimensions and metrics can’t be deleted once created, but you can return to these settings in your account to manage and edit them. To stop using an existing custom dimension, uncheck the Active box, and click Save.

What are utm parameters in Google Analytics ?

UTM parameters are simply tags you add to a URL — when your link is clicked, the tags are sent back to Google Analytics and tracked. WithUTM parameters, you can tag your links to gauge the effectiveness of your campaigns and identify the best ways to drive more visitors to your website.

hoe to UTM Parameters in Google anlytics

Do you know exactly where your site traffic comes from? Or which of your campaigns drives the most traffic? If not, read on ;) This post is for website owners who use Google Analytics but want more insight into where their traffic is coming from.

Maybe you know how much  traffic you’re getting from Twitter, but do you know what percentage of this traffic comes from your Tweets? You can get this data by using Custom Campaigns and adding special tags to your URLs; these tags are called UTM parameters — they are crucial for a deeper understanding of your traffic.

What are UTM Parameters?

UTM parameters are simply tags you add to a URL — when your link is clicked, the tags are sent back to Google Analytics and tracked.

With UTM parameters, you can tag your links to gauge the effectiveness of your campaigns and identify the best ways to drive more visitors to your website.

Using UTM parameters, you can find out how much traffic came from a particular Facebook post instead of Facebook referrals in general. You can tag your Tweets and compare traffic from your Twitter account to overall Twitter referrals. You can use UTM parameters in newsletters, cost per click (CPC) campaigns, on your blog… the possibilities are endless! I’ll get into more examples below.

Example URL with UTM parameters:

http://www.awesome-example.com/book-launch?utm_source=facebook&utm_medium=social&utm_campaign=book-launch-2014-may

Let’s analyze the URL above. Pretend you’re an author launching a book. Obviously you want to drive traffic to your book’s landing page (e.g. http://www.awesome-example.com/book-launch). To understand how much traffic comes from your marketing efforts, you tag your links with UTM parameters. You reveal the book launch to your audience by posting the tagged link on your Facebook page.

In the upcoming week, approximately 20,000 visitors come to your landing page from Facebook. Upon checking Google Analytics, you discover that 15,000 visitors clicked your tagged link and the remaining 5,000 visitors came from other Facebook pages and profiles outside your control.  By using a tagged link, you know exactly how well your Facebook post performed. Pretty neat right?

Aside – UTM Meaning & Origin
UTM is short for Urchin Tracking Module. Google acquired Urchin Software in 2005, resulting in the creation of Google Analytics.

UTM Parameter Brainstorming

You can use UTM parameters in an almost endless number of ways. To get you brainstorming, here are a few examples:

  • Instead of a general overview of traffic from your newsletter, you could use UTM parameters to gauge which links and calls to action (CTA’s) are most effective within your email.
  • You could use UTM parameters to compare newsletters over time. You could spot the newsletters that were most effective at driving traffic to your site. You could then hypothesize why certain newsletters were so effective and test your assumptions in upcoming newsletters.
  • Maybe you know how much traffic comes to your product page from your blog, but you want to know which calls to action are driving the most traffic. Again, UTM parameters.
  • I think you get the point :)

Types of UTM Parameters

There are five UTM parameters (three are required):

  • utm_source (required) – identify the source of your traffic such as: search engine, newsletter, or other referral.
    • example: utm_source=newsletter
  • utm_medium (required) – identify the medium the link was used on such as: email, CPC, or other method of sharing.
    • For a newsletter, the medium would be “email”
    • example: utm_medium=email
  • utm_campaign (required) – identify a strategic campaign (e.g. product launch, new feature, partnership, etc.) or specific promotion (e.g. a sale, a giveaway, etc.).
    • example: utm_campaign=book-launch-2014-may-7
  • utm_term – suggested for paid search to identify keywords for your ad. You can skip this for Google AdWords if you have connected your AdWords and Analytics accounts and use the auto-tagging featureinstead.
    • Let’s say you you’re running a Google Adwords campaign for your non-profit WordPress theme. You’d have specific keywords picked out for your campaign.
    • example: utm_term=wordpress-theme , utm_term=non-profit-theme, utm_term=non-profit-template, etc.
  • utm_content – suggested for additional details for A/B testing and content-targeted ads.
    • Let’s say you have three calls to action (CTA’s) on your blog. You have a Hello Bar CTA in your header, a big button CTA in your sidebar and a CTA farther down the page after your blog post but before the comments. Which CTA is sending the most traffic to your product page?
    • examples: utm_content=cta-top-banner,  utm_content=cta-sidebar,  utm_content=cta-bottom

How to Build UTM Tagged URLs

To understand how to build URL’s containing UTM parameters, let’s dissect the example URL from earlier:

http://www.awesome-example.com/book-launch?utm_source=facebook&utm_medium=social&utm_campaign=book-launch-2014-may

  • UTM parameters are initialized by the question mark “?” at the end of the base URL.
  • Every UTM parameter starts with it’s name (e.g. utm_source, etc.) which is followed by an equals sign “=” which is then followed by the input/argument (no spaces).
  • Each UTM parameter is separated by an ampersand sign “&”.

Now that you understand how  URLs with UTM parameters are organized, you can create them manually. However, it’s much easier to use Google’s URL builder. Just fill out the form and presto — you’re URL is ready for copying and pasting.

Dealing with Lots of UTM URLs & Staying Sane

how UTM parameters works in Google analytics

Let’s assume that you’ll need to create lots of URLs containing UTM parameters. How would you build your URLs efficiently? How would you stay organized? Google’s URL builder would become tedious fast.

Dear reader, you’re in luck! The Rafflecopter team has a link tagging tool that we’re happy to share with you. The tool is a Google Doc spreadsheet that uses formulas to build out custom URLs with UTM parameters. Enjoy :)

*Please Note* The Rafflecopter link tagging tool is a modified version of Epik One’s link tagging tool. Thanks for the awesome spreadsheet Epik One! The credit and applause belongs to you.

I hope this introduction to UTM parameters augments your marketing efforts and helps you draw new insights from Google Analytics.  If you enjoyed this post, check out the sibling post: 6 Tips for Naming UTM Parameters

If you have questions or feedback, please post in the comments below. Extra points for posting how you use UTM parameters (or plan on using them in the future).

Original Source : http://blog.rafflecopter.com/2014/04/utm-parameters-best-practices/

How to Create a new ad group in Google Ad-words ?

  • Within a given AdWords campaign, an ad group lets you easily manage the status and default bids for one or more related ads as well as their shared set of keywords. For example, let’s say you own an art supplies shop.

Creating a new ad group in a campaign

If you don’t have any campaigns yet, click Create a new campaign and follow the instructions on the page to complete your ad group. If you create a “Search Network only – Standard” campaign, you can add multiple ad groups on the “Create ad groups” page.

If you already have a campaign, follow these steps:

  1. Sign in to your AdWords account at https://adwords.google.com.
  2. Click the Campaigns tab.
  3. Under All online campaigns, click the name of the campaign that you’d like to add an ad group to.
  4. Click the Ad groups tab.
  5. Click the + Ad group button.
  6. On the “Create ad group” page that appears, follow the instructions to complete your new ad group (you’ll be given the chance to create an initial ad and its keywords).
  7. Click Save ad group.

Guide to HTTP Status Codes and Server Error

HTTP Error Codes

  • 4xx Errors
    • 400 Bad Request
    • 401 Unauthorized
    • 403 Forbidden
    • 404 Not Found
  • 5xx Errors
    • 500 Internal Server Error
    • 501 Not Implemented
    • 502 Bad Gateway
    • 503 Service Unavailable
    • 504 Gateway Timeout
    • 505 HTTP Version Not Supported
    • 506 Variant Also Negotiates
    • 507 Insufficient Storage
    • 509 Bandwidth Limit Exceeded
    • 510 Not Extended

Overview

HTTP codes describe the status of a URL when a visitor attempts to access it. HTTP codes include error messages that describe the problems that visitors encounter. The codes are three-digit numbers.

Five classes of HTTP codes, divided into categories by the first digit, exist:

  • A first digit of 1, 2, or 3 represents a fully functional request.
  • A first digit of 4 represents a client-side error. The most common codes span 400 to 404.
  • A first digit of 5 represents a server-side error. The most common codes span 500 to 510.

Status Code Breakdown

In the following sections, I’ve outlined all the major status code messages. The current HTTP/1.1 spec uses messages ranging from 1xx-5xx, and each category has a different purpose. I don’t think it’s worth memorizing this list unless you feel truly inclined to do so.

Otherwise I’d recommend glossing over the list for key phrases or status codes that you recognize. Some common ones might be 302, 401, or 502. When encountering one of these errors in the future, hit Google to see what else you can learn. There are decades of archives written about how to troubleshoot and detect patterns with status code errors.

Memorizing the definition of each error message can be useful (sometimes), but to solve mystifying server problems you really need to understand the context behind each error.

100 Class: Informational

There are only a couple 1xx codes which represent an operation during the connection phase. These status codes are sent during the interim of a connection, meaning they are not a final status for the connection. 1xx codes were not apart of HTTP 1.0 and have since been adopted into the 1.1 schema.

100 – Continue: This represents a midpoint response that the initial request has been received and will continue with the full request. It’s not usually part of debugging, but it is associated with most requests.

101 – Switching Protocols: By passing an Upgrade header, the server can switch protocols to a different version of HTTP. For example, there is a difference between TCP and websocket protocols.

200 Class: Successful

All of the 2xx codes represent a successful request. The server response will vary depending on what type of information was sent. But overall each response denotes a successful connection to the server and a successful receipt of information from the server.

200 – OK: This is by far one of the most common status messages. It simply means the request was successful and has connected perfectly with the server. Generally it’ll be set with a GET request to return some information (like an image, stylesheet, or Ajax response).

201 – Created: Going one step further, the 201 code represents a successful request after creating a new resource. This could be a new HTML webpage or another document altogether.

202 – Accepted: This code represents a successful connection to the server, but the response has not yet been processed. 202 is a somewhat equivocal status because it’s left open for other connections while the accepted response is being processed.

203 – Non-Authoritative Information: A 203 response is almost identical to the 200 OK response, except the return information is pulled from a different server. This may happen when pulling out API data or when running through a remote database/server farm.

204 – No Content: The 204 status is returned when information has been accepted by the server but there’s no return data. This can happen for one of many reasons, but all of the data transfer generally takes place in the meta header info.

205 – Reset Content: When a user submits content to the server, it’ll sometimes request the original document to reset. A 205 status code is sent from the server to the client when a document needs to be reset or updated.

206 – Partial Content: Returned information through a 206 status is considered a partial response. This is normally associated with cached page content where the user only needs part of a page to be refreshed.

300 Class: Redirection

Most of these 3xx status codes propose a connection refresh or update on the client’s side. Although this does pertain to your web browser, it’s typically an automatic refresh to adjust for new content or URI structures. In poorly-planned scenarios, these redirection statuses can lead to infinite loops which continue to refresh over and over until the server quits.

300 – Multiple Choices: If a specific resource has moved to many different locations, the 300 status code will appear. This offers a set list of options from which the user can obtain their requested resource or webpage.

301 – Moved Permanently: Most web developers have some foreknowledge of the 301 redirect code. A 301 status indicates that a resource has moved to a new location and passes the new location over to the client. For example, updating a WordPress URL places a permanent 301 redirect onto the old URL. If you have a Wordpress site, there are several tools to help you with managing 301 redirects in WordPress.

301 code for moved permanently

302 – Found: A 302 status is very similar to 301 except it’s just a temporary redirect. So when changing the URL for a webpage or resource the 302 redirect tells the client that it’s only temporary. This means the original URL is still considered active.

303 – See Other: Receiving a 303 code means that the request successfully connected to the resource, but the response is found at a different URI. Each 303 status code should include the response URI within the header.

304 – Not Modified: When loading a resource through cache, it will check if the document has been updated or re-cached since a certain period. If the document hasn’t changed, then a 304 status is returned and the cached content stays the same. This saves on bandwidth since cached resources aren’t continually sent over HTTP.

305 – Use Proxy: It may seem odd, but the 305 code represents a forced proxy connection. If a resource or webpage can only be accessed via proxy the 305 status will return with a Location header containing the proxy URI.

306 – Unused: This was originally used in older HTTP specs but currently serves no purpose.

307 – Temporary Redirect: The 307 redirect is very similar to the 302 status code. They both represent a resource that has temporarily changed locations with a new URI. It seems a 307 may be more apt to handle continual updates to new URIs on a frequent basis although a 302 code could also perform the same task. So from a general user’s perspective, they’re just about the same thing.

400 Class: Client-Side Error

Although the 4xx class may strike a sharp pang of fear, client-side errors are not always your fault. These errors generally indicate that something has gone wrong, and the fix is typically on the client’s side rather than the server’s side.

Most of these codes will also return information about the error, specifying which resource or page is causing the trouble. Also some messages could indicate if the problem seems temporary or permanent.

400 – Bad Request: The 400 status code is pretty straightforward and just means that the request itself could not be understood by the server. The culprit is usually a syntax error in the URI.

401 – Unauthorized: Some resources are protected by authorization through a username/password combo stored on the server itself. When accessing a resource such as this, you might be prompted to enter credentials, and if they don’t match up to an authorized account, you’ll get a 401 error.

402 – Payment Required: The 402 status code is currently unused and seems to be reserved for a future purpose.

403 – Forbidden: The 403 forbidden status code is much like the unauthorized code, except you cannot grant yourself authorization. When you get a 403 error, it means the request was acknowledged by the server, but you cannot access the response. This will sometimes happen when a webmaster blocks certain files or folders from visibility over HTTP.

404 – Not Found: When landing on a 404 error, it’s wise to pull out your gentleman’s pipe and magnifying glass, because there’s a mystery that needs a-solvin’! The 404 status code means that a resource or webpage cannot be found at the given URI and has no new redirect or known location.

404 error code - tips what is its mean

405 – Method Not Allowed: The 405 status deals with request methods which are prominent in backend development. When you get a 405 error, it means that the request method cannot be accepted. There are plenty of examples, but the most common are POST and GET requests.

406 – Not Acceptable: This one’s a little tricky to understand, but it has to do with how data is returned. The 406 status means that information was accepted by the server, but the response data cannot be sent. It generally happens when a response type is not supported by the client (or your browser).

407 – Proxy Authentication Required: Very much like the 401 status code, the 407 status requires authentication through a proxy. They both operate in the same manner, but 407 runs through a proxy server.

408 – Request Timeout: Servers are programmed to only wait a certain amount of time for a client response. If the client’s connection takes too long, then you’ll get a 408 timeout error. This can sometimes be fixed by just waiting a bit and refreshing the page.

409 – Conflict: A 409 status code occurs when a requested resource needs to be edited but does not offer permission to do so. For example if a file is meant to be deleted or moved but the client’s connection does not have permission, it will result in a 409 conflict status.

410 – Gone: The 410 status code is like a more specific version of 404. It means that a resource has been moved permanently and is not expected to return to the current URI. However it does not give any indication of a new location.

411 – Length Required: Although certainly rare, the 411 status deals directly with the “Content-Length” header. Some return content may require a specified length before the request can be completed. To fix this error, you need to pass a Content-Length header into the request.

412 – Precondition Failed: If some information passed into the request-header is wrong, then you’ll get a 412 status code. The server evaluates this information and will often pass back a helpful message so you know where the problem occurred.

413 – Request Entity Too Large: If a request is larger than the server can handle, it will return a 413 error code. Most server setups have a configuration dictating the largest possible file size. If a form is submitted passing too much information, you may end up with a 413 error.

414 – Request URI Too Long: It’s also possible that the URI passed to the server is too long. Sometimes you’ll notice this happens when you have all those extra parameters on the end of a URL attached by ampersands (?val=1&other=2&long=yes). This is tricky to fix because it may be a problem with the website’s code and not something you can handle directly.

415 – Unsupported Media Type: When submitting content beyond just plaintext/HTML, you may run into this error. The 415 status code is rare but does appear when passing complex data which cannot be supported by the server. Unsupported audio or video file formats are one such example.

416 – Requested Range Not Satisfiable: The Range request-header can be passed to the server and pull out a certain part of the requested information. A 416 status code occurs when the response is too short and cannot access the full range of data. The error message should include information regarding how many bytes were returned or expected to be returned.

417 – Expectation Failed: Another request-header named Expect can cause a 417 status code. When the Expect field cannot be fulfilled by the server, it returns an expectation error. Most 417 responses are pretty vague, so it can be a difficult puzzle to solve.

500 Class: Server-Side Error

All errors in the 5xx class point towards an error on the server’s side of the connection. Some errors may come with additional information, but they’re not always corrigible from the user’s end. Think of 5xx errors as serious warnings to take up with the web hosting company or server administrator.

5xx error code - tips what is its mean

500 – Internal Server Error: I’m sure many Internet users have seen the 500 status code at some point. This is the most vague and general of all the 5xx class error messages. It means that the server has encountered an unknown error and is unable to complete the request.

501 – Not Implemented: If a request is sent to the server requiring some functionality which is not installed, you’ll get a 501 error in return. This can happen for any number of reasons including lack of modules, database software, or backend language(s).

502 – Bad Gateway: The 502 error is much more common in larger networks. When a particular server cannot be connected or is considered invalid, then it returns a 502 bad gateway. It’s a rather complicated subject which delves into networking and has nothing to do with the client. Take a peek at this Yahoo! Answers post which gives a little more detail.

503 – Service Unavailable: When you get a 503 error, it generally means the web server is overloaded or down for maintenance. It happens when a server receives too much traffic and has to refuse connection requests.

504 – Gateway Timeout: The 504 gateway is a timeout issue which slightly differs from the 502 invalid gateway. In the 504 status code, your connection is successfully accessing the remote server. But that server is acting like a gateway (or proxy), and the response is taking too long. This error can sometimes be fixed if you wait a little while and refresh the page.

505 – HTTP Version Not Supported: If you send a request using an unsupported version of HTTP, the server returns a 505 status code. This is an error rejecting the request because it can only support a certain version of HTTP. The 505 code should return a message explaining which version(s) are supported.

Source 1.  https://documentation.cpanel.net/display/ALD/HTTP+Error+Codes+and+Quick+Fixes#HTTPErrorCodesandQuickFixes-400BadRequest

Source 2.  http://www.vandelaydesign.com/ultimate-guide-http-status-codes-server-error-messages/