Thursday 29 November 2018

Mobile Site Analysis

  1. Mobile Speed Score
  2. Mobile Friendly Test
  3. Mobile Usability
  4. Loading Time & Est. Visitor loss

Analysis that goes beyond google’s mobile assessment.
  • Are images being cut off on screen?
  • Is content being cut off on screen?
  • Are containers too small?
  • Are links hard to click?
  • Is certain content unable to load on mobile pages?
  • Is the mobile page speed ok?
  • Phone number clickable?

Sunday 27 May 2018

Mobile Separate URLs

A common setup would be pages on www.example.com serving desktop users with corresponding pages served on m.example.com for mobile users. Google does not favor any particular URL format as long as they are all accessible for all Googlebot user-agents.

Separate mobile URLs serve different code to desktop and mobile devices (and perhaps even tablets), and on different URLs.

We support two methods to have this annotation: in the HTML of the pages themselves and in sitemaps. For example, suppose that the desktop URL is http://example.com/page-1 and the corresponding mobile URL is http://m.example.com/page-1. The annotations in this example would be as follows.

Annotations in the HTML

On the desktop page (http://www.example.com/page-1), add:

<link rel="alternate" media="only screen and (max-width: 640px)"
 href="http://m.example.com/page-1">
and on the mobile page (http://m.example.com/page-1), the required annotation should be:

<link rel="canonical" href="http://www.example.com/page-1">
This rel="canonical" tag on the mobile URL pointing to the desktop page is required.

Annotations in sitemaps

We support including the rel=”alternate” annotation for the desktop pages in sitemaps like this:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://www.example.com/page-1/</loc>
<xhtml:link
rel="alternate"
media="only screen and (max-width: 640px)"
href="http://m.example.com/page-1" />
</url>
</urlset>

The required rel="canonical" tag on the mobile URL should still be added to the mobile page’s HTML.

Monday 7 May 2018

How to increase the PageSpeed Insights

  • Optimize images: Reduce image size according to https://gtmetrix.com/
  • Eliminate render-blocking JavaScript and CSS in above-the-fold content: Render means loading, so if something is render-blocking, it means that it is keeping the page from loading as quickly as it could.
Google recommends to remove or defer javascripts that interfere with loading the above the fold content of your webpages.

Above the fold means what a user sees initially on their screen. That screen might be a phone, ipad, desktop or whatever the user is using to see your webpage.

Soluition: Move the CSS & JavaScript to the footer of the website
  • Avoid landing page redirects: Don't avoid landing page redirects when using HSTS. HSTS is an important reason not to bypass redirects: the HSTS preload list requires your site to redirect to https first, then to www or non www. If you want to preload your site on the preload list, don't try to avoid this one extra landing page redirect.
  • Leverage browser caching: Leverage Browser Caching means storing static files of a website in visitor browser. And then retrieving them from browser quickly instead again from server. Actually it uses to speed up each page of a website
Soluition: Need to update code in .htaccess file according to server or using the tool https://wordpress.org/plugins/leverage-browser-caching/
  • Minify JavaScript, Minify CSS: Make your website smaller and faster to load by minifying the JS and CSS code.
Soluition: https://wordpress.org/plugins/autoptimize/
  • Reduce server response time: It is the time taken by the browser to start loading the website. It measures how long it takes to load the necessary HTML to begin rendering the page from your server, subtracting out the network latency between Google and your server. It adds to the total website loading time. In short, server response time (SRT) is the amount of time it takes for the web browser to receive a response.
Soluition: 
  1. Check Your Hosting
  2. Choose Your Web Server Carefully
  3. Optimize Your Web Servers
  4. Reduce Bloat
  5. Optimize Your Database

Thursday 3 May 2018

Create your AMP HTML page

Code:

<!doctype html>
<html amp lang="en">
  <head>
    <meta charset="utf-8">
    <script async src="https://cdn.ampproject.org/v0.js"></script>
    <title>Hello, AMPs</title>
    <link rel="canonical" href="http://example.ampproject.org/article-metadata.html">
    <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
    <script type="application/ld+json">
      {
        "@context": "http://schema.org",
        "@type": "NewsArticle",
        "headline": "Open-source framework for publishing content",
        "datePublished": "2015-10-07T12:02:41Z",
        "image": [
          "logo.jpg"
        ]
      }
    </script>
    <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
  </head>
  <body>
    <h1>Welcome to the mobile web</h1>
  </body>
</html>

AMP HTML documents MUST:


Use this tag in main non AMP page

<link rel="amphtml" href="https://www.bajajfinserv.in/amp/business-loan" />

Friday 2 February 2018

Geo/ KML Sitemap Generation

Location.KML File

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>Locations for Hunt Lease Association of America</name>
<atom:link rel="related" href="https://huntinginsurance.com" />
<Folder>
<Placemark>
<name><![CDATA[Hunt Lease Association of America]]></name>
<address><![CDATA[1371 Hecla Drive Ste E., Louisville, Colorado, 80027, United States]]></address>
<phoneNumber><![CDATA[888-683-7808]]></phoneNumber>
<description><![CDATA["We provide wide verity of specialized insurance programs to help you with all your hunt lease, outfitters and guides insurance needs.]]></description>
<Point>
<coordinates>-105.125113,39.9901587,0</coordinates>
</Point>
</Placemark>
</Folder>
</Document>
</kml>

GeoSiteMap.XML File

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:geo="http://www.google.com/geo/schemas/sitemap/1.0">
<url>
<loc>https://huntinginsurance.com/locations.kml</loc>
</url>
</urlset>

Note: Use https://www.geositemapgenerator.com/ tool to generate Location.KML & GeoSiteMap.XML file and upload it to root folder of the server.

Monday 29 January 2018

Schema via JSON Code

For Schema on Logo and Social Links

<script type="application/ld+json">
{
"@context" : "https://schema.org",
"@type" : "Organization",
"name" : "start-upuniverse",
"url" : "http://www.start-upuniverse.com",
"logo": "http://www.start-upuniverse.com/images/logo.png",
"sameAs" : [
"https://www.facebook.com/startupUniverseTeam/about/?ref=page_internal",
"https://twitter.com/start_upUnivrse",
"https://www.linkedin.com/company/ninv-business-evolution-pvt-ltd/"
]
}
</script>

For Schema on Address

<script type="application/ld+json">
{
  "@context": "https://schema.org",
    "@type": "PostalAddress",
    "streetAddress": "79 Madison Ave, Manhattan",
    "addressLocality": "New York",
    "addressRegion": "United States",
    "postalCode": "10001",
    "telephone": "+1-646-585-0501"
  }
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
    "@type": "PostalAddress",
    "streetAddress": "B-25, Sector 58",
    "addressLocality": "Noida",
    "addressRegion": "India",
    "postalCode": "201301",
    "telephone": "+ 91 - 8448182018"
  }
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
    "@type": "PostalAddress",
    "streetAddress": "Suite 87, Level 35, 100 Barangaroo Avenue",
    "addressLocality": "Sydney",
    "addressRegion": "Australia",
    "postalCode": "2000",
    "telephone": "+61 - 400182741"
  }
</script>

For Schema on Complete Business

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "LocalBusiness",
"address": {
"@type": "PostalAddress",
"streetAddress": "400 Broadway",
"addressLocality": "Manhattan",
"addressRegion": "NY",
"postalCode":"10036"
},
"name": "Craig's Car Repair",
"url":"https://www.chinatour.com/",
"image": "https://www.chinatour.com/wp-content/uploads/2017/05/chinatourlogo.png",
"telephone": "555-111-2345",
"email": "info@start-upuniverse.com",
"openingHours": "Mo,Tu,We,Th,Fr 09:00-17:00",
"geo": {
"@type": "GeoCoordinates",
"latitude": "20.75",
"longitude": "13.98"
},
"sameAs" : [ "http://www.facebook.com/example",
"http://www.twitter.com/example",
"http://plus.google.com/example"]
}
</script>

For Schema on Product

<script type='application/ld+json'>
{
  "@context": "http://www.schema.org",
  "@type": "product",
  "brand": "Acme",
  "logo": "http://www.example.com/logo.png",
  "name": "WidgetPress",
  "category": "Widgets",
  "image": "http://www.example.com/image.jpg",
  "description": "This is an excellent widget with 21 features and 4 colors.",
  "aggregateRating": {
    "@type": "aggregateRating",
    "ratingValue": "5",
    "reviewCount": "21"
  }
}
 </script>

or

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Executive Anvil",
  "image": [
    "https://example.com/photos/1x1/photo.jpg",
    "https://example.com/photos/4x3/photo.jpg",
    "https://example.com/photos/16x9/photo.jpg"
   ],
  "description": "Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height.",
  "sku": "0446310786",
  "mpn": "925872",
  "brand": {
    "@type": "Thing",
    "name": "ACME"
  },
  "review": {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "4",
      "bestRating": "5"
    },
    "author": {
      "@type": "Person",
      "name": "Fred Benson"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/anvil",
    "priceCurrency": "USD",
    "price": "119.99",
    "priceValidUntil": "2020-11-05",
    "itemCondition": "https://schema.org/UsedCondition",
    "availability": "https://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "Executive Objects"
    }
  }
}
</script>

Schema for creating Search Box 

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "http://www.highnoteperformance.com",
"potentialAction": {
"@type": "SearchAction",
"target": "http://www.highnoteperformance.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>

Schema for Aggregate Rating Schema 

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Brand",
  "name": "e definers technology",
    "url": "https://www.edtech.in/",
  "AggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "bestRating": "5",
    "reviewCount": "17"
  }
}
</script>

Schema for News Article 

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"headline": "Brand new JSON-LD website launched!",
"author": "Andrew Ders Smith",
"datePublished": "29 October, 2016",
"image": {
"@type": "imageObject",
"url": "http://example.com/image.png",
"height": "400",
"width": "300"
},
"publisher": {
"@type": "Organization",
"name": "Publisher Name",
"logo": {
"@type": "imageObject",
"url": "http://example.com/images/logo.png"
}
}
}
</script>

Schema for FAQ

<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Replace with",
"acceptedAnswer": {
"@type": "Answer",
"text": "Replace with"
}
}
, {
"@type": "Question",
"name": "Replace with",
"acceptedAnswer": {
"@type": "Answer",
"text": "Replace with"
}
}
,
{
"@type": "Question",
"name": "Replace with",
"acceptedAnswer": {
"@type": "Answer",
"text": "Replace with"
}
}
]
}
</script>

Schema for BreadcrumbList

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement":
[
{
"@type": "ListItem",
"position": 1,
"item":
{
"@id": "https://appinventiv.com",
"name": "Home"
}
},
{
"@type": "ListItem",
"position": 2,
"item":
{
"@id": "https://appinventiv.com/service/",
"name": "Services"
}
},
{
"@type": "ListItem",
"position": 3,
"item":
{
"@id": "https://appinventiv.com/iphone-application-development/",
"name": "iPhone Application Development"
}
}
]
}
</script>

Schema for WebPage

<script type="application/ld+json" class="aioseop-schema">
{"@context":"https://schema.org",
"@graph":[
{"@type":"Organization",
"@id":"https://appinventiv.com/#organization",
"url":"https://appinventiv.com/",
"name":"Appinventiv",
"sameAs":[]},
{"@type":"WebSite",
"@id":"https://appinventiv.com/#website",
"url":"https://appinventiv.com/",
"name":"Appinventiv","publisher":
{
"@id":"https://appinventiv.com/#organization"}},
{"@type":"WebPage",
"@id":"https://appinventiv.com/iphone-application-development/#webpage",
"url":"https://appinventiv.com/iphone-application-development/",
"inLanguage":"en-US",
"name":"Iphone and iOS App Development Company",
"isPartOf":{
"@id":"https://appinventiv.com/#website"},
"datePublished":"2016-03-07T00:09:11-08:00",
"dateModified":"2020-03-02T00:31:05-08:00",
"description":"Appinventiv, award-winning iPhone app development company, offers custom iPhone & iOS apps development services for entrepreneurs & small businesses."}]}
</script>

Schema for Job Postings - Onsite or Hybrid Jobs

<script data-react-helmet="true" type="application/ld+json">{
        "@context" : "http://schema.org/",
        "@type" : "JobPosting",
        "title" : "Urgent Hiring for Tele sales for Digit Insurance in Kormangala",
        "description" : "<p>Walkin dates on 7th & 8th April bet 11 AM to 2 PM on 11th - 13th April Bet 11 AM to 2 PM Job description Experience into general insurance is must. Doing Outbound calls and managing partners and agents for sales of our products. Target driven for Crores. Utilizing software, databases, scripts, and tools appropriately. Understanding and striving to meet or exceed call centre metrics while providing excellent consistent customer service. Taking part in training and other learning opportunities to expand knowledge of company and position. Adhering to all company policies and procedures. Looking for candidates who have - Excellent Verbal and Written communication Skills. ( ENGLISH AND HINDI) Preferable experience in Voice Process Willing to work in rotational shift & work from office only Interested candidates can walkin to the below mentioned Venue Go Digit General  Insurance Atlantis, 95, 4th B Cross Road, Koramangala Industrial Layout, 5th Block, Bengaluru, Karnataka 560095 </p>",
        "identifier": {
          "@type": "PropertyValue",
          "name": "Go Digit General Insurance",
          "value": "359310024"
        },
        "datePosted" : "2022-04-06T13:32:04+05:30",
        "validThrough" : "2022-04-16T13:32:33+05:30",
        "industry": "BPO/ Telecaller",
        "employmentType" : "FULL_TIME",
        "hiringOrganization" : {
          "@type" : "Organization",
          "name" : "Go Digit General Insurance"
        },
        "jobLocation" : {
              "@type" : "Place",
              "address" : {
                "@type" : "PostalAddress",
                "addressLocality" : "Bangalore",
                "addressRegion" : "Karnataka",
                "addressCountry": "IN",
                "postalCode": "NA",
                "streetAddress": "Bangalore"
              }
            },
        
        "baseSalary": {
          "@type": "MonetaryAmount",
          "currency": "INR",
          "value": {
            "@type": "QuantitativeValue",
            "unitText": "MONTH",
            "maxValue": 22000,
            "minValue": 17000,
            "value": 17000 
          }
        }
      }</script>


Schema for Job Postings - Remote Jobs

<script data-react-helmet="true" type="application/ld+json">{
"@context" : "http://schema.org/",
"@type" : "JobPosting",
"title" : "Data Entry /Back Office",
"name": "Rs.1200 Daily Fixed Salary - Data Entry Jobs - Free Registration",
"description" : "<p>Welcome to Online Income opportunity.. NO Registration Fee Online Part Time Jobs Work from Home opportunity - Part Time jobs Earn Rs.1000/- to Rs.2000/- Daily From Home Without Investment.. Please Watch DEMO WORK video in our Website to Start the Work Immediately. Daily Payment Option Available.. All the Best .. Feel free to Contact us <br>Minimum Experience : 0 years<br>Maximum Experience : 1 years<p>",
"identifier":
{ "@type": "PropertyValue", "name": "Individual", "value": "353862120" }

,
"datePosted" : "2021-04-02T09:42:12+05:30",
"validThrough" : "2021-04-12T09:37:02+05:30",
"employmentType" : "PART_TIME",
"hiringOrganization" :
{ "@type" : "Organization", "name" : "Individual" }

,
"jobLocationType" : "TELECOMMUTE",
"applicantLocationRequirements" :
{ "@type": "Country", "name": "India" }

,
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "INR",
"value":
{ "@type": "QuantitativeValue", "unitText": "MONTH", "maxValue": 40000, "minValue": 35000, "value": 35000 }

}
}</script>

There are three properties that help Google understand which jobs can be performed from home:
  • jobLocationType: Use this property to specify that the job is a Work from home job.
  • applicantLocationRequirements: Use this property to specify geographic location(s) in which employees may be located for work from home jobs. At least one country is required.
  • jobLocation: Use this property to specify where the job can be physically performed. You don't need to use this property if there isn't a physical location where a job can be performed (for example, an office or construction site). 
Here are some common scenarios for work from home jobs:
  • The job can be performed at home, but there are geographical restrictions for where the employee can be located. The employee doesn't have to go to a physical job location or office. Use applicantLocationRequirements and jobLocationType.
"applicantLocationRequirements": {
  "@type": "Country",
  "name": "USA"
},
"jobLocationType": "TELECOMMUTE"
  • The job can be performed at a physical work site located in Detroit, MI, or at home in the US. Use jobLocation and jobLocationType.
"jobLocation": {
  "@type": "Place",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Detroit",
    "addressRegion": "MI",
    "addressCountry": "US"
  }
 },
"jobLocationType": "TELECOMMUTE"
  • The job can be performed at a physical location in Detroit or at home in either Michigan or Texas. Use jobLocation, jobLocationType, and applicantLocationRequirements.
"jobLocation": {
  "@type": "Place",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "555 Clancy St",
    "addressLocality": "Detroit",
    "addressRegion": "MI",
    "postalCode": "48201",
    "addressCountry": "US"
  }
 },
"applicantLocationRequirements": [{
    "@type": "State",
    "name": "Michigan, USA"
 },{
    "@type": "State",
    "name": "Texas, USA"
 }],
"jobLocationType": "TELECOMMUTE"

Schema for ItemList

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "ItemList",
"url": "https://www.quikr.com/jobs/bangalore+zwqxj760939060",
"name": "Jobs in bangalore",
"numberOfItems": 5,
"itemListElement": [
{ "@type":"ListItem", "position":1, "url": "https://www.quikr.com/jobs/wanted-telecaller-for-bpo-voice-bangalore/p/355258854", "name":"WANTED TELECALLER FOR BPO VOICE" }

,
{ "@type":"ListItem", "position":2, "url": "https://www.quikr.com/jobs/confirm-job-no-free-hindi-kannad-tamil-other-urgently-required-fresher-experienced-bangalore/p/354559051", "name":"Confirm job,No Free,Hindi,Kannad,Tamil other URGENTLY REQUIRED, Fresher, Experienced" }

,
{ "@type":"ListItem", "position":3, "url": "VAP URL 3", "name":"TITLE of VAP 3" }

,
{ "@type":"ListItem", "position":4, "url": "VAP URL 4", "name":"TITLE of VAP 4" }

,
{ "@type":"ListItem", "position":5, "url": "VAP URL 5", "name":"TITLE of VAP 5" }

]
}
</script>

Website Type Schema Data

1. Change only text in red
2. “alternateName” line can be removed

<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "WebSite",
"name": "Full Website Name",
"alternateName" : "Short Site Name",
"url": "https://example.com/",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://amittiwari.net/?s={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
</script>

Event Type Schema Data