Tuesday, June 19, 2018

Important Tools to Use

Important Tools
https://search.google.com/test/mobile-friendly

Tools to create XML Sitemap with amphtml
https://developers.google.com/search/docs/guides/create-URLs



Wednesday, August 17, 2016

Keyword Research, Affiliate Learning and keywords Type

Keyword Research
Keyword Research is very important for Google Adsense and affilate masking. The keywords has main role in content strategy

Keyword Research - 80%
SEO & Content - 20%

Types of keywords:
What type of keywords we have to target
A) Informational / Educational Keywords
B) Commercial Keywords
C) Social Keywords
D) Epic Keywords

For example:
I Phone 6 Reviews -> Commercial Keyword
Get rid of my body pain -> Commercial Keyword
What is SEO -> Informational/Educational Keyword etc.

Before reading these 4 types of keywords, you have to know about some technical terms
Seed Keywords ->
In Simple terms जिन कीवर्ड का न आगे का पता हो ना पीछे का

Seed Keywords Example:
Smartphone
Pullup
IIT
etc..

In Simple terms कीवर्ड के आगे या पीछे कुछ लगाकर कीवर्ड को profitable कीवर्ड बना दे

Modifier:
Types of Modifier:
A) For buyers
B) For Problem

For Example: (A)
1. <Top> tools for SEO
2. SEMRUSH <Review>
3. SEMRUSH and ahref <Comparisons>
4. SEMRUSH <vs> AHREF
5. <Best> Tool for SEO

Which is in <>, these are modifier for buyers
If someone use these modifier it in his keywords it means he wanna buy the product

For Example: (B)
1. <Get rid of> body pain
2. <Fix> computer speed issue
3. Error code tool <troubleshooting>
4. <Help me> to find the solution for virus
5. Need Phone Hanging Problem <Solution>

These are affiliate modifier for Problems which is in <>

If Comparison Modifier is mentioned in the keyword so it a profitable keyword, and we can say there is a sure sale -> 99% sale

Informational/Educational Keyword:
====================================
If user want to know something about product, service etc. So he/she don't wanna buy (there is only 1% chance of sell). These type of keywords we say Informational/Educational keywords.

Example:
How to pull ups

Because user want to learn about pull ups
1. How to do meditation
2. Learn about tenses
3. What is prepositions
etc.

Commercial Keywords:
========================
We can sell our product or services with special keywords which are commercial keywords
Example:
1. <Best> [Pullup] Bar
<> -> Modifier
[]-> Seed Keywords
2. Sony Experia T2 Review
3. Neutrilite Protien vs Power Gain
etc.

Social Keywords
==================
If user wants to share you post so it's an article on social keyword
Social keywords are very important to boost social signals and SMO activities for your blog

Example:
Benefits of Milk
Infographic
Image roundup

Images which are sharable
We can use others image with source link

Epic Keywords
===================
In Hindi we can understand it properly

ऐसे  कीवर्ड जिनका पर्पस ब्लॉग के लिए सोशल ट्रैफिक बनाना है

Like i have created a 5000 words article on small topic and i have mentioned all these things in that particular article which should be there. If i do this then big sites can also give hyperlink to me.

Informational Keywords -> User Will take information
Commercial Keywords -> User will buy product
Social Keywords -> User will share content
Epic Keywords -> Professional blogger will give backlink

Affiliate
=============
Single Product ->
Make 20-25 articles on problem modifier
With problem modifier we can generate sells in single product niche

Multiple Product->
Make lot's of articles on all modifier

There are two different types of keywords
1. First is that we know about the niche for work
2. Second is which we don't know about their niche for work

जिस niche के बारे में पता हो
so reverse engineering (competitor analysis)

how to find the competitors?
For Example:
My Niche is Fashion

1. So search in Google "Fashion Blogs"
2. Then use Moz or other toolbar to check DA & PA
3. Always try to target the competitor which have -5 DA or +5 DA as compare to your site
4. At the start we have 0 DA so target only these sites which have 0-5 DA

SEOToolPedia.com -> get any seo tool at $5

Find Seed Keywords by different methods
A)
1. By Discussion Forum
2. Type your niche with forum in google and search latet and trending topics
3. Now read discussion and understand about your topic
4. and it will be your seed keyword
B)
Via Google Adwords or Keywords Planner
C) Find seed Keyword through Reddit
1. Go to Reddit
2. Type your Niche like: Technology then sub Reddit पर आओ
3. Then Check Category

for example Technology-> Hardware
Now search Hardware directly through search box
Hardware -> Subreddit of Hardware -> Click on Top (Given in Heading) -> See the discussion and know the topic by your sense -> Now find your seed keyword

1. User ubersuggest.io to find long tail keywords
2. Use Keywordshitter.com to find educational / informational keywords
3. LongTailPro for long tail keyword

How we can check about SERP Comptition?
Free Way:
Install Moz Bar and find DA & PA for your keywords comptitors
Paid Way:
Use LongTailPro and use keyword comptition

Content Strategy
====================
1) Find Seed keywords and long tail keywords before making content strategy
2) Make an Excel Sheet and Filter your keywords based on keyword type
3) Use Slow Structure (Slow Structure is one of the most important part of content strategy)
Benefits of Slow Structure
1. We can rank on big keywords
2. Our Inner Posts can also get good ranking easily
3. If someone is giving a backlink to our slow structure article so it will be beneficial for our internal linking because the link juice will be passed to all the inner posts which is internal linked in slow structure.

How to make slow structure article?
1. Choose a big keyword or main topic of your niche
Example for Blogging Niche
Topic for Slow Structure: Blogging Tips
2. Write a blog post approx 5000 words in that mention all your sites internal links.
3. Link the slow structure on home page header
4. Mention all keywords related to your topic in slow structure
Example:

A good site does not make backlinks, other sites give backlink to a good site, so good site get natural backlinks.

Monday, July 18, 2016

Why can't I use robots.txt to block my file?

If you use robots.txt, Google will not crawl a page; however, if it finds a link to your page on another site, with descriptive text, it might generate a search result from that. If you have included a “noindex” tag on the page, Google won’t see it, because Google must crawl (fetch) the page in order to see that tag, but Google won’t fetch your page if there’s a robots.txt file blocking it! Therefore, you should let Google crawl the page and see the “noindex” tag or header. It sounds counterintuitive, but you need to let Google try to fetch the page and fail (because of password protection) or see the “noindex” tag  to ensure it’s omitted from search results.

This does not apply to images; for images, robots.txt is the correct way to block images from search results.
Source: https://support.google.com/webmasters/answer/6332384?rd=1

Tuesday, October 13, 2015

Hide/Show Content on Mouse Click

<script>
function showHideDiv(id){
  var obj = document.getElementById(id);
    if (obj.style.display=="none"){
      obj.style.display='block';
    } else if(obj.style.display=="block"){
      obj.style.display='none';
    }
}
</script>
<a href="#" onclick="showHideDiv('div-1')">
Click here to Show more info
</a><br />
<div id="div-1" style="display:none;">
Here is the extra content
</div>

Sunday, September 6, 2015

Tab Example Blogger


Tab 1 Heading

Menu tabs in Blogger helps you and users to easily navigate to the most resourceful pages in your blog and you can add pages, external links and labels as your menu tab. Adding pages in Blogger menu tab With above mentioned method we hope you successfully created your pages. To add your pages in menu go to dashboard >> pages and select show pages as “Top tabs” or “Side links” and click save arrangement. Now refresh your site you can see your page menus.

Friday, August 28, 2015

Quotes Example


Let us sacrifice our today so that our children can have a better tomorrow.
By- APJ Abdul Kalam

Friday, August 21, 2015

How to Create Slug

Create Slug
<?php
function create_slug($string){
   $slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
   return $slug;
}
echo create_slug('does this thing work or not');
//returns 'does-this-thing-work-or-not'
?>

Thursday, August 6, 2015

SEO Basics

Google Penalty Send Box
http://pixelgroove.com/serp/sandbox_checker/

Page Speed Testing Tool
Google Page Speed
Pingdom Tool

Link Analysis Tools
Majestic (formerly Majestic SEO)
Ahrefs
Open Site Explorer
Open Link Profiler
WebMeUp

Friday, July 31, 2015

Bootstrap Learning

Must Used Bootstrap Classes
class="lead"
class="col-lg-4-offset"
class="col-lg-4-pull"
class="col-lg-4-push"
class="text-left"
class="text-right"
class="text-center"
class="text-nowrap"
class="text-justify"
class="text-lowercase"
class="text-uppercase"
class="text-capitalize"
class="active"
class="success"
class="info"
class="warning"
class="danger"
class="input-lg"
class="text-hide"

Most Used Bootstrap tags
<abbr>
<abbr title="HyperText Markup Language" class="initialism">HTML</abbr>
<mark>
<code>
<small>
<em>
<blockquote>
<footer>

<blockquote class="blockquote-reverse">
  ...
</blockquote>

UL LI
==================
<ul class="list-inline">
  <li>...</li>
</ul>

Table
=================
<table class="table table-striped">
  ...
</table>

Colors
@brand-primary: darken(#428bca, 6.5%);

Scaffolding
===================
@body-bg:    #fff;
@text-color: @black-50;

Links
=======================
@link-color:       @brand-primary;
@link-hover-color: darken(@link-color, 15%);

Monday, July 6, 2015

Understand Blogspot Basics

Blogger template has mainly three types of variables
one which controls the flow of the code
one which pulls data from the databases behind
third are expressions.

b:namespace
=========================
=========================
The variables in this namespace mainly control the layout and control flow of the template.

The template is mainly divided in sections
=>sections will include widgets
==>Widgets will have includables
====>includables are useless unless you use it by using the include tag.

Section
====================
<b:section [attribs] >
</b:section>

1. id (Required) A name identifying the section must be unique.
2. class (Optional) Common class names are 'navbar,' 'header,' 'main,' 'sidebar,' and 'footer.'
3. maxwidgets (Optional) The maximum number of widgets.
4. growth (Optional) Can be 'horizontal' or 'vertical,'.

Widgets
============================
<!--Simple form.-->
<b:widget [attribs] />

<!-- Expanded form. -->
<b:widget [attribs] >
</b:widget>
A widget may have the following attributes:
1. id (Required) May contain letters and numbers only, and each widget ID in your template should be unique.
2. type: (Required) Indicates what kind of a widget it is.
3. locked: (Optional) Can be 'yes' or 'no,' with 'no' as the default.
4. title: (Optional) A display title for the widget.
5. pageType: (Optional) Can be 'all,' 'archive,' 'main,' or 'item,' with 'all' as the default.

The includables Tag
===========================
<b:includable id='[some-unique-id]' [attribs] >
</b:includable>

The includable tag has the following attributes:
1. id: (Required) A unique identifier made up of letters and numbers.
2. var: (Optional) An identifier made up of letters and numbers, for referencing data within this section.

The include Tag
=============================
<b:include name='[the-includable-name]' data='[the-expression-for-var]'/>

The attributes name and data:
name: (Required) This name will be pointing to the includable which is to be included.
data: (Optional) Like a parameter is passed to function this data is passed to includable.

The if / else Tag
===============================
<!-- both if and else-->
<b:if cond='[some cond check]'>
 <!--  [Then do this]  -->
<b:else/>
 <!--  [else do this]  -->
</b:if>

Examples:
<!-- to check a boolean variable. -->
<b:if cond='data:useImage'>
 <!--  [execute if the header for your blog is image instead of text]  -->
</b:if>

<!-- to compare equivalence of two values-->
<b:if cond='data:blog.pageType == "item"'>
 <!--  [True if the current page is an item page (post page).]  -->
</b:if>

<!-- to compare non-equivalence -->
<b:if cond='data:displayname != "Fred"'>
 <!--  [True if this is not Fred's display name.]  -->
</b:if>

<!-- comparing greater than, less than-->
<b:if cond='data:post.numComments > 1'>
 <!--  [True if the current post has more than one comment.]  -->
</b:if>

The Loop Tag
=================================
<b:loop var='some-identifying-var' values='set-of-something'>
 <!--  [For every var in the values i.e., for every data in the set of data do something here]  -->
</b:loop>

data:namespace
=========================
=========================
<!--[The blog's title.]-->
<data:blog.title/>

<!--[
The type of the current page. One of 'item', 'archive', or 'index'.
This var is quite useful for selectively showing content on
different type of pages. Put an if and check if its index page or
item page and then display selective content
]-->
<data:blog.pageType/>

<!--  [The URL of the current page.]  -->
<data:blog.url/>

<!--  [The homepage of the blog.]  -->
<data:blog.homepageUrl/>

<!--[
The title of the current page. This is often the blog title,
but may contain additional information on archive or post pages.
]-->
<data:blog.pageTitle/>

<!--  [The encoding to use for the blog, e.g. UTF-8.]  -->
<data:blog.encoding/>

<!--[
Either "ltr" or "rtl" for left-to-right
and right-to-left languages, respectively.
]-->
<data:blog.languageDirection/>

<!--  [The autodiscovery feed links for the page header.]  -->
<data:blog.feedLinks/>


Widget Types
===========
Page Header
Blog Archives
Profile
Text / HTML / JavaScript
Feed
Picture
Labels
List
Link List
Logo
Blog Posts

Page Header
===============
<!--[The blog's title. ]-->
<data:title/>

<!-- [ The blog's description. ]-->
<data:description/>

Blog Archives in Blogger template
==================================
title: The title of the widget.
style: One of 'MENU', 'FLAT', or 'HIERARCHY'.
data: A list of each archive unit, each of which contains:
->-> name: The name of this archive interval or period.
->-> url: The link to the page containing posts from this interval.
->-> post-count: How many posts there are in this interval.

<!--[ Simple usage of title ]-->
<b:if cond='data:title'>
 <h2><data:title/></h2>
</b:if>

<!--[ For a includable flat type ]-->
<b:includable id='flat' var='data'>
 <ul>
  <b:loop values='data:data' var='i'>
   <li class='archivedate'>
    <a expr:href='data:i.url'>
     <data:i.name/>
    </a>
    (<data:i.post-count/>)
   </li>
  </b:loop>
 </ul>
</b:includable>


Profile Widget in Blogger template
=====================================
This is the profile of the author. There can be one author of a blog or maybe the blog has a team of authors.

For a blog with a single author, the profile widget contains the following information.
-> title The title of the widget.
-> userUrl The author's profile URL.
-> location The location from the author's profile.
-> aboutme The "About Me" information from the profile.
-> displayname The author's display name.
-> photo The user's profile photo, made up of the following:
-> -> url: The photo URL.
-> -> width: The photo's width, in pixels.
-> -> height: The photo's height, in pixels.
-> -> alt: The "alt" text for the photo.

Team blog widgets contain less information compare to single blog widgets. The tags are:
-> title: The title of the widget.
-> authors: The list of all authors, each of which contains the following:
-> -> displayname: The author's display name.
-> -> userURL: The author's profile URL.

If you want to design your template to handle both single- and multiple-author blogs, you can use the data:team variable to distinguish between the two cases as shown below.

<b:if cond='data:team=="true"'>
 <!--[display multiple authors] -->
</b:if>

Text / HTML / JavaScript Widget in Blogger template
=======================================
HTML / Javascript and Text widgets are very simple widgets and contain only two data elements.
-> title: The widget's title.
-> content: The content of the widget.

Source:
https://support.google.com/blogger/answer/47270



Friday, July 3, 2015

Digital Watch Creation Through Javascript

Understand Regular Expression

CharacterDescription
\wMatches any word character (alphanumeric).
\WMatches any non-word character.
\sMatches any whitespace character (tab, newline, carriage return, form feed, vertical tab).
\SMatches any non-whitespace character.
\dMatches any numerical digit.
\DMatches any character that is not a number.
[\b]Matches a backspace.
.Matches any character except a newline.
[...]Matches any one character within the brackets.
[^...]Matches any one character not within the brackets.
[x-y]Matches any character in the range of x to y.
[^x-y]Matches any character not in the range of x to y.
{x,y}Matches the previous item at least x times but not to exceed y times.
{x,}Matches the previous item at least x times.
{x}Matches the previous item exactly x times.
?Matches the previous item once or not at all.
+Matches the previous item at least once.
*Matches the previous item any number of times or not at all.
|Matches the expression to the left or the right of the | character.
(...)Group everything inside parentheses into a subpattern.
\xMatches the same characters that resulted from the subpattern in group number x. Groups, which are designated with parentheses, are numbered from left to right.
^Matches the beginning of the string or beginning of a line, in multiline matches.
$Matches the end of the string or end of a line, in multiline matches.
\bMatches the position between a word character and a non-word character.
\BMatches the position that is not between a word character and a non-word character.
Know More in Regular Expression
CharacterDescription
\fForm feed
\nNewline
\rCarriage return
\tTab
\vVertical tab
\/Forward slash (/)
\\Backward slash (\)
\.Period (.)
\*Asterisk (*)
\+Plus (+)
\?Question Mark (?)
\|Horizontal bar (|)
\(Left parenthesis (
\)Right parenthesis )
\[Left bracket ([)
\]Right bracket (])
\{Left curly brace ({)
\}Right curly brace (})
\XXXASCII character represented by the octal number XXX
\xHHASCII character represented by the hexadecimal number HH
\cXThe control character represented by X

Window Object Functions: Learn Here

Methods/PropertiesDescription
alertLoads an alert dialog box with the text string passed.
backLoads the previous page in place of the window instance.
blurRemoves the focus from a window.
captureEventsSets the window to capture all events of a specified type.
clearIntervalClears the interval set with the setInterval method.
clearTimeoutClears the timeout set with the setTimeout method.
closeCloses the instance of the window.
confirmDisplays a confirmation dialog box.
disableExternalCaptureDisables external event capturing.
enableExternalCaptureEnables external event capturing for the pages loaded from other servers.
findDisplays a Find dialog box where the user can enter text to search the _current page.
focusAssigns the focus to the specified _window instance.
forwardLoads the next page in place of the window instance.
handleEventInvokes the handler for the event passed.
homeLoads the user's specified home page in place of the window instance.
moveByMoves the window by the amounts specified.
moveToMoves the window to the specified location.
openOpens a new instance of a window.
printInvokes the Print dialog box so the user can print the current window.
promptDisplays a prompt dialog box.
releaseEventsReleases the captured events of a specified type.
resizeByResizes the window by the specified amount.
resizeToResizes the window to the specified size.
routeEventPasses the events of a specified type to be handled natively.
scrollScrolls the document in the window to a specified location.
scrollByScrolls the document in the window by a specified amount.
scrollToScrolls the document, both width and height, in the window to a specified location.
setIntervalInvokes a function or evaluates an expression every time the number of milliseconds has passed.
setTimeoutInvokes a function or evaluates an expression when the number of milliseconds has passed.
stopStops the current window from loading other items within it.
closedSpecifies if the window instance has been closed.
defaultStatusIs the default message in the window's status bar.
documentReferences all the information about the document within this window. See the Document object for more information.
framesReferences all the information about the frames within this window. See the Frame object for more information.
historyReferences the URLs the user has _visited.
innerHeightContains the height of the display area of the current window in pixels.
innerWidthContains the width of the display area of the current window in pixels.
lengthRepresents the number of frames in the current window.
locationContains the current URL loaded into the window.
locationbarReference to the browser's location bar.
menubarReference to the browser's menu bar.
nameName of the window.
openerContains the name of the window from which a second window was opened.
outerHeightContains the height of the outer area of the current window in pixels.
outerWidthContains the width of the outer area of the current window in pixels.
pageXOffsetContains the x-coordinate of the current window.
pageYOffsetContains the y-coordinate of the current window.
parentReference to the upper most window that is displaying the current frame.
personalbarReference to the browser's personal bar.
scrollbarsReference to the browser's scroll bars.
selfReference for the current window.
statusReference to the message in the window's status bar.
statusbarReference to the browser's status bar.
toolbarReference to the browser's tool bar.
topReference to the upper most window that is displaying the current frame.
windowReference for the current window.

JavaScript String Functions: Learn Here

Method/PropertyDescription
anchor()Creates an instance of the tag with the NAME attribute set to the string passed to the method.
big()Converts the string into an instance of the tag.
blink()Converts the string into an instance of the tag.
bold()Converts the string into an instance of the tag.
charAt()Returns the character at the index passed to the method.
charCodeAt()Returns the ISO-Latin-1 number of the character at the index passed to the method.
concat()Concatenates the two strings passed to return a new string. This method was added in JavaScript 1.2.
fixed()Converts the string into an instance of the , fixed pitch font tag.
fontcolor()Sets the COLOR attribute of an instance of the tag.
fontsize()Sets the SIZE attribute of an instance of the tag.
fromCharCode()Returns the string value of the ISO-Latin-1 number passed to the method.
indexOf()Returns the index of the first occurrence of the string passed to the method within an instance of a String object.
italics()Converts the string into an instance of the tag.
lastIndexOf()Returns the index of the last occurrence of the string passed to the method within an instance of a String object.
link()Converts the string into an instance of the tag and sets the HREF attribute with the URL that is passed to the method.
match()Returns an array containing the matches found based on the regular expression passed to the method.
replace()Performs a search and replace, using the regular expression and replace string passed to the method, on the instance of a String that calls it.
search()Returns the index location of the match found in the string passed to the method. A -1 is returned if the string is not found.
slice()Returns the string between the beginning and ending index passed to the method. If a negative number is passed, the index is referenced from the end of the string passed.
small()Converts the string into an instance of the tag.
split()Returns the string split into segments defined by the string and instance limit passed to the method.
strike()Converts the string into an instance of the tag.
sub()Converts the string into an instance of the tag.
substr()Returns the string beginning with the indexed location and number of characters to return. If a negative number is passed, the index is referenced from the end of the string passed.
substring()Returns the string between the beginning and ending index passed to the method.
sup()Converts the string into an instance of the tag.
toLowerCase()Converts all the characters in the string to lowercase.
toSource()Returns the string representation of the String passed.
toString()Returns the characters passed as type string.
toUpperCase()Converts all the characters in the string to uppercase.
lengthReturns the length of the string.
prototypeProvides the ability for a programmer to add properties to instances of the String object.

Friday, June 26, 2015

How to Create RSS Feed through PHP, MySQL

http://www.pontikis.net/blog/simple-rss-class-create-rss-feed

Wednesday, June 24, 2015

How to Use Google Map on Web Page

 <head><style>
      #map-canvas {
        width: 500px;
        height: 400px;
background-color: #CCC;
      }
    </style>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script>
  function initialize() {
  var mapCanvas = document.getElementById('map-canvas');
    var mapOptions = {
      center: new google.maps.LatLng(28.38, 77.12),
      zoom: 8,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(mapCanvas, mapOptions);
  }
  google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
  <body>
  <div id="map-canvas"></div>
  </body>

Source to get Longitude and Latitude Values
http://www.latlong.net/