About Me

My photo
Muthupet, TamilNadu, India
SharePoint 2010

Thursday, June 8, 2017

5 Best SEO Practices for SharePoint sites

Getting your sites ranked in Google would mean tons of traffic, tons of leads. It is only how you convert them. SEO has always been hot getting sites climb up in Google. But what about SharePoint sites? Does it support SEO Features ?


You may have a stunning website, but if that doesn’t rank for competitive keywords your business simply doesn’t exist. Optimizing your website for Search Engines is a skill every company should own.
SEO features supported by HTML, WordPress etc. has a long history. How about ranking SharePoint sites? Does SharePoint offer SEO friendly features? How to rank SharePoint sites? This is a post to answer that.
SharePoint has now a lot of inbuilt features that help with SEO. With the new enhanced SEO-friendly features of SharePoint, optimizing SharePoint sites is now easy. Here is a list of best SEO practices for SharePoint sites.
Specify SEO properties on all publishing pages
Here is how you set it up.
1. Click PAGE tab -> Edit Properties -> Edit SEO Properties
2. Specify a Browser Title (equivalent to the TITLE tag in case of a HTML site)
3. Meta Description
4. Meta Keywords
5. Specify if you would like to exclude the page from search results (something similar to what you do with ROBOTS.TXT)

SharePoint SEO
Make effective use of ‘Canonical’ URLs
If the same webpage is indexed under different URLs (this happens with dynamic pages) that may harm your SEO efforts. Google and other search engines will not feel great about ranking such pages. Every single page should be indexed under one unique URL only. The solution? Canonical URLs.
SharePoint Server 2013 and upwards will automatically generate canonical URLs. Just activate the Search Engine Optimization Site Collection Feature on the SEO Settings page. Once you do that the meta tag rel= ‘canonical’ will be rendered in the HTML of your page automatically as shown below.

Configuring XML Sitemaps
XML sitemaps are by which Search Engines know about your webpages. So, it is better to keep your XML sitemaps updated always. With SharePoint, you no longer have to worry about manually updating your sitemaps. That is indeed a tedious and time consuming process. Thanks to SharePoint Server 2013 and above where automatic XML sitemap creation works like a breeze.
Activate the Search Engine Sitemap Site Collection Feature. The Search Engine sitemap job by default runs once daily and updates XML sitemap with all new pages you have put in your site. You can of course customize the schedule to fit your requirements closely.
Robots.Txt File
If you have a lot of pages, you can specify to exclude few pages that are not required to be ranked. For example, a payment gateway page or your product delivery page should not be indexed or ranked. Specify such pages in Robots.Txt file for exclusion and any search engine would never crawl those pages.
It also helps in optimizing the ‘crawling time’ search engine robots spent with your site. Search Engines don’t have much time to spend on your site either. So, keep it clean with Robots.txt file exclusion settings.
Sharepoint seo robots
Friendly URLs
If there is control over the URLs to optimize them for search engines will it not look wonderful? SharePoint Server 2013 brings that awesomeness. URLs definitely have a huge influence in getting your pages ranked in search results. SharePoint comes with a Friendly URLs that are really friendly (at least on a SEO perspective)
By using the Managed Navigation method, you can use the SharePoint Managed Metadata Service to model the navigation hierarchy of your website through taxonomy terms. For each term, you can specify a search engines optimized title and URL.
sharepoint SEO Friendly URL

Follow these 5 best practices and you will have a SEO friendly SharePoint site ready to rank and dominate the search engines

Wednesday, June 7, 2017

SharePoint 2013 site Slowness issue


I was about to give up on one of my labb SharePoint 2013 Environments because it was so extremely slow all the time.
Warmup scripts, reloads, more memory, more CPU, stopping services, stopping search…nothing helped.
I had a constant loadtime of all aspx pages of 6+ seconds, 6.10-6.20 something. Even when the page was just loaded and I pressed F5 to reload, it still took 6.10 seconds.
This was an environment that gave you sensitive nerves…
So, after looking for any solution or more like looking for the little issue that caused this all day, I gave up more or less.
– CPU was at a maximum 40% on SQL, SharePoint cranked it up to 18%…
– Memory consumtion was at 25% of the 12GB SharePoint had…
– SQL was Lightning fast to all other SharePoint farms…
– Network utilization showed about 100Kbps at the most…
I scavenged the internet as usual and found nothing but the standard: add more memeory, add more CPU, stop services, stop search…
None of that helped and I had tried it all…
Then…when all hope was lost, I got on a call with my excellent SharePoint buddy Mattias Gutke, we talked about the issue, his server on a laptop with SSD disks showed 50-100ms loadtime of all pages, reload did nopt even produce a flicker…
Then as often happens, we came to discuss the Distributed cache service, what it did and why it was there and so on…I had already had a look at it but could not find any reason why a default cache would give me this lousy performance. Then, I had a look at the timestamp in the F12 Developer dashbord – Network tab – Start capturing. I saw the home.aspx load and it took the usual 6.10 seconds.
The timestamp could be found in the detailed view and on the response header.
I memorized the timestamp (that was in GMT timezone) and opened up my ULS log. In the log at the exact time of the response header, I saw errors from the distributed cache.
ULS1
I decided that t-shooting the distributed cache would have to wait, it was getting late…but, before disconnecting the Lync call with Mattias, we decided to try and see just what would happen if I stopped the distributed cache service and loaded the page.
Said and done:
CA1x
Now, loaded the same site:
F12-2x
Whit the Distributed cache service running:
F12-1x
Notice any difference? Now my SharePoint farm is Lightning fast!!! From 6.10 seconds down to 79 ms!
Why is this so then you ask? No idea, something misconfigured or perhaps this is standard when using a single SharePoint server…anyway, today I don’t care.
Stop the service and the performance is great!
Hope this may help you as it did me!

Resolve SharePoint/ IIS Site Slow Initial Load Issue

There are two ways you can improve the initial load time of a SharePoint/ IIS site:
  • Setting application pool's start mode to AlwaysRunning from OnDemand. 
    Open IIS, select application pool of your site, go to Advanced Settings and then set start mode to AlwaysRunning).

    setting

    By setting the above option, your site/application loads fast all the time except the very first load after IIS Reset.
  • Every Application's/ Site's application pool recycling is set at a specific time or regular intervals. To overcome the issue of first load, IIS 8.0 has Application Initialization feature,

    VersionNotes
    IIS 8.0Application Initialization was built-in for IIS 8.0.
    IIS 7.5Application Initialization was released as an out-of-band module for IIS 7.5.
    IIS 7.0Application Initialization was not supported for IIS 7.0.
    roles

    For further steps to configure this application initialization, please visit Configuration.
If you find the above solution is tedious or not working, you can go ahead with below simple steps.
  • Open notepad, add the below code with site(s) you wanted to load automatically
               $client = New-Object System.Net.Webclient
               $client.UseDefaultCredentials = $true
               $webpage = $client.DownloadString($url)
  • Save the file with name scriptsload.ps1 under C:\Scripts
  • Create a Window Task Scheduler with name to it and schedule it to run on daily morning with below parameters.
  • Action:
  • Program / Scripts: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
  • Add arguements: -ExecutionPolicy Bypass -file "C:\scripts\scriptsload.ps1" \r