Jesse's Software Engineering Blog
Website Build for Search Engine Optimization
I’ve compiled a list of some Search Engine Optimization (SEO) techniques to consider during a site build. These are the essentials when it comes to preparing a site build for SEO. An important thing to remember when thinking about SEO: Importance (rank) is popularity. Keywords are playing less and less of a role as search engine algorithms become more advanced. What really matters is how popular your site is and how many other sites link back to or reference your site. Keeping that in mind, a lot of SEO is managing your website’s presence on the internet. Submitting your domain to indexes, directories, and search engines. Getting your customers or followers to share your information on social media. Advertising on social media. Getting your business listed in local directories. Having your customers fill out reviews on your services. These are the most important factors in SEO. However, that does not mean you can neglect SEO during your site build.
Every page should have it’s own unique title, which is placed in the <title> tag in the <head> of your HTML. The title tag is the text that search engine’s display in their results, so it should be tailored specifically to your page’s content. Don’t use generic titles, make sure the titles are unique for each page, and stuffing titles with keywords will not significantly help your rank. When working with a framework, you should have access to a view helper that will allow you to change the title based on your controllers, routes, or actions:
$this->tag->setTitle("Unique page title");
Use the <meta> description tag to give each page it’s own unique summary. The meta tag is also included inside the <head> of your HTML. The description can be a couple sentences or a whole paragraph. The meta tag won’t necessarily improve your rankings, but it will display as text below your website link on search engine result pages and will help drive traffic to your site. The descriptions can include data opposed to sentences i.e. product or author information, and can be programmatically generated based on page content. If you can’t make custom descriptions for each page, at least make them for your index and the widely visited pages.
Use meaningful link text inside of your anchor tags. Instead of click here, use something more descriptive, Web Development Blog. Link text should be short, a few words max, and never whole sentences or paragraphs.
Have a lot of internal links. The easier it is to navigate through your site, the better your site will be indexed. Consider creating a sitemap in the footer for additional navigation links. Also make sure your links are text so that they can be easily parsed. Avoid using images or Flash for your navigation.
For anchor tags to questionable content use rel=”nofollow” inside the anchor tag, which will prevent crawlers from following the link. This can also be done for a whole page by adding a meta tag to the head of the page: <meta name=”robots” content=”nofollow”>. Some of your rank score will come from your site’s perceived credibility, and by linking to websites that don’t have good credibility or are considered fraudulent, you will be hurting your site’s rank. Also useful on pages that display info about user’s, whether it be profiles or blog comments, to prevent crawlers from following their links.
The higher on a page a link is, the more importance you are giving it. Keep this in mind when writing your page content.
Canonicalize your site to help search engines know which URL is associated with that particular page. This will help prevent different URLs that point to the same page from skewing your analytics data, as well as help to distinguish which versions of pages are current. To do this dynamically with PHP you could place the following link tag in your HTML head::
<link rel="canonical" href="http://<?= BASE_HREF . $_SERVER[‘REQUEST_URI’]; ?>">
The different header tags in your site carry different weight in rankings. The larger the header, <h1>, the more importance you are giving the content. Use your header tags to control the importance of your content and keywords.
Be sure to give all of your images descriptive alt tags. Often times these will tie into the overall website theme and keyword targets, Pizza in Mesa Arizona. Also give your images meaningful file names, mesa_az_pizza.jpg. Avoid long or generic file names.
Use a keyword research tool like Google’s Keyword Planner to determine which keywords you want your site to target. The tool will allow you to research various different keywords you would like to be found by (when typed into a search engine) and breaks down the search volume, competition, and average AdWords campaign costs. It’s import to get an idea of which keywords you want to target before you start writing all of your site content, although this will change with time as you begin to run different campaigns.
Use relevant text. Whenever making text for your site make sure it fits in with your descriptions, titles, and targeted keywords. Repeat your keywords often and in many locations but don’t put so many in that the content does not make sense.
Don’t abuse keywords, or think keyword density is the key to high search placement.
Update your content regularly. Obviously this is not always easy to do depending on the site you are running, but regular updates, even changing modification times on your files, will help with your website’s rank.
Pick a relevant domain name. If possible have your primary keyword appear in the domain. User’s should be able to identify your business or your purpose by your domain, just as search engine indexes will.
It’s important to use descriptive URLs throughout your site. Instead of loading pages based off parameters, ?page_id=2, use pretty URLs: /ice-cream-mesa-az. Don’t hide your pages in excessive directories: /glasses/sales/mesa/discount/glass-for-sale, and if you need multiple levels have them make sense and allow users to break them down and access the different levels in logical steps. Don’t add a bunch of redundant keywords to your URLs, keep the URLs specific to the page content. Keep your URLs lower cased and multiple words separated by dashes:
/az/mesa/food/pizza /az/mesa/food /az/mesa-pizza
Create an XML sitemap and submit it to the various search engines. You can have a generic sitemap generated online with sitemap generators and then customize it to your needs. The XML sitemap is a map of all the URLs for your domain, and various other important information such as the URL’s priority, change frequency, last modified time, etc. You will have to do a bit of research as far as how to submit them to the different engines, but you usually just place the sitemap.xml file into your root html directory.
Another useful file is the robots.txt file. This allows you specify what URL’s that you don’t want to be indexed by the search engines. This can also help when you do a site overhaul and change your URL structure. You can put old URL paths in your robot.txt file to help prevent the old URLs from repeatedly being crawled.
I highly recommend you monitor your website with Google Web Master Tools. You simply have to put a HTML file into your root html folder to verify you are the site owner, and then you have access to a lot of helpful tools. Google’s tools gives you the ability to monitor search traffic and external links to your site, track index statuses and keywords, watch crawler health and information, and allows for easy submital of sitemaps and robots files.
You can also sign up for advertising campaigns with Google, or other search engines, which allows you to pay a certain amount of money so your website will show up as an ad on search engine results pages or on other websites. There are also campaigns which are free, like AdSense, where your URL is placed on somebody’s site in exchange for you displaying their URL.
One last thing I’d like to mention is that SEO takes time. There are companies and developers out there that will talk about instant SEO success or guarantee placement but you need to be very wary when dealing with such promises. There are services out there that will sell you linkbacks (external links pointing to your site) or Facebook likes or product reviews to help perpetuate the image that your site is popular. It may sound like a good idea and could lead to some influx in short term placement and traffic flow, but it can also lead to your domain getting blacklisted from search engines altogether. Choose your “SEO guru” or “Internet Marketer” very carefully and require a detailed list of what exactly they are doing to help ensure your website is getting ranked. There are many secrets in how search engines rank but don’t let someone sell you on the idea that they know what they are.
In future articles I will go more in-depth on some of the advertising and networking ideas I discussed.