To celebrate tomorrow's big movie launch, I am nicknaming it Interstellar edition :D
Get the all the details and download links here!
Wednesday, 5 November 2014
Saturday, 1 November 2014
How to SEO long URLs
There are many meanings about the SEO impact of long URLs: they are good, or bad, or have no influence. Our questions in this article are:
- why long URLs occur,
- how to make long URLs short,
- the wish to stuff URLs with keywords (both of domains and every single URL slugs),
- the necessity (or, to be honest, the wish too) to reproduce the site's structure in the matching URL's structure.
Labels:forex, iqoption, pubg Hacked
OnPage SEO,
Schema.org-Microdata
Tuesday, 28 October 2014
Android Swipe Views with Tabs
In this post we are going to learn about how to integrate the android tab view with the fragments using ViewPager and ActionBar class. For displaying the tabs on the top of the screen you need to interact with the android action bar, this is because the tab views is connected with the action bar.
Ads by Google
In this example application we make three tabs called "java", "php" and ".Net" and there are three seperate fragement view for each of these tabs.
First you need to add the ViewPager into the activity_main.xml file.
Now create three layout files for the fragments.
1. java_layout.xml
2. php_layout.xml
3. dotnet_layout.xml
Now we need to inflate each of these layouts using the inflate() method.
1. JavaFragment.java
2. PhpFragment.java
3. DotNetFragment.java
Now create an adapter class that extends FragmentPagerAdapter and define override method getItem. The getItem() method will return an object of fragment.
FragmentPageAdapter.java
MainActivity.java
Ads by Google
In this example application we make three tabs called "java", "php" and ".Net" and there are three seperate fragement view for each of these tabs.
First you need to add the ViewPager into the activity_main.xml file.
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</android.support.v4.view.ViewPager>
Now create three layout files for the fragments.
1. java_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#D881DA"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp"
android:text="Welcome to java page"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
2. php_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0B9AE2"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="97dp"
android:text="Welcome to php page"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
3. dotnet_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#E2D40B"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="42dp"
android:text="Welcome to .Net page"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
Now we need to inflate each of these layouts using the inflate() method.
1. JavaFragment.java
package com.tabdemo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class JavaFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.java_layout, container,false);
}
}
2. PhpFragment.java
package com.tabdemo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class PhpFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.php_layout, container,false);
}
}
3. DotNetFragment.java
package com.tabdemo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class DotnetFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.dotnet_layout, container,false);
}
}
Now create an adapter class that extends FragmentPagerAdapter and define override method getItem. The getItem() method will return an object of fragment.
FragmentPageAdapter.java
package com.tabdemo;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class FragmentPageAdapter extends FragmentPagerAdapter {
public FragmentPageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
switch (arg0) {
case 0:
return new JavaFragment();
case 1:
return new PhpFragment();
case 2:
return new DotnetFragment();
default:
break;
}
return null;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 3;
}
}
MainActivity.java
package com.tabdemo;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
public class MainActivity extends FragmentActivity implements ActionBar.TabListener{
ActionBar actionbar;
ViewPager viewpager;
FragmentPageAdapter ft;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpager = (ViewPager) findViewById(R.id.pager);
ft = new FragmentPageAdapter(getSupportFragmentManager());
actionbar = getActionBar();
viewpager.setAdapter(ft);
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionbar.addTab(actionbar.newTab().setText("Java").setTabListener(this));
actionbar.addTab(actionbar.newTab().setText("Php").setTabListener(this));
actionbar.addTab(actionbar.newTab().setText(".Net").setTabListener(this));
viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
actionbar.setSelectedNavigationItem(arg0);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
viewpager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
Labels:forex, iqoption, pubg Hacked
android tabs,
swipe view tutorial,
swipe views
Deciduous blog posts leave evergreens for dead
In a social-media world, deciduous blog posts have an enormous advantage of both ever-green and ephemeral content - find out what they are, and how to use them to best advantage.
In blogging, deciduous posts are ones that your readers lose all interest in at certain times - eg posts about Christmas carols during January, or winter gardening tips during spring.
Which sounds bad.
Until you realise that deciduous posts are also ones that your readers (both current and new ones) gain renewed interest in at certain times. That means it's quite reasonable for you - and everyone else - to mention them on Facebook, Twitter, Google+ each time that the new "season" starts. If your posts are good, you might even get more new visits from social media in the subsequent seasons than in the first time around.
When you think about it, it's easy to see that in a social-media world ...
Working out exactly when do these promotions can be tricky. Ideally this is based on studying your visitor statistics (Analytics or whatever tool you use) to see when the posts got popular last time around.
You might think that you know anyway, because the seasons are obvious, but it's easy to miss earlier-than-expected surges in interest. For example, posts about Christmas music might actually be popular with music directors who're choosing their Christmas programs in September. But you do need to be careful about and where how you promote posts like this - because no one else wants to be reminded about Christmas so soon!
But if you look harder, you can find seasonal patterns that apply to lots of other blogs, too. For example, one well-known blogger-helper often does a post towards the end of the American college year reminding people to transfer ownership of their blogs to a non-college Google account.
Ways to do this include:
The answer depends on the nature of the information each season:
For example, one of my blogs is about public transport news in my city. This has clear seasonal patterns around public holidays, the tourist season, a major sporting event, and the academic year. The sporting event causes the biggest peak, with web-traffic up by 600%, week-on-week. Each year's information for it is very similar: buses leave at (roughly the same time) from (exactly the same place) for (close to the same fare) as last year. But each year there are changes: slightly different times, different effects on other bus services, one year there was a park-and-ride. So for this blog, I do a new post each year. And I go back into last year's post and add a line like
and I make the "here" link to a label search for the topic, so that the most recent post will always come up first in the list.
By comparison, in another blog, I've published a printable sheet of non-religious Christmas carol words for which copyright has expired. Over time, it will be possible to add extra carols to this. But this won't happen each year - and all the existing content will continue to be relevant forever. So I don't republish this in a new post each year. Instead, I promote it with a gadget on the sidebar, and I share the post on my social media accounts for the blog.
Be aware that if you do decided to make a slight change to an existing seasonal post, rather than write a new one:
Some events happen once every 2, 3 or more years. For example:
These multi-year patterns can be even more powerful than the every-year ones, because less people are aware of them, and readers in general are not-so-likely to remember what you wrote four years ago.
This may mean that you can re-promote posts based on natural seasons twice a year - or that you should target some seasonal posts by hemisphere.
5 reasons why SEO doesn't matter for your blog
Using labels to categorise blog posts
Transferring a blog to a new owner
Follow-by-email, an easy way to offer email subscription to your blog
Introducing deciduous blog posts
In botany and horticulture, deciduous plants... are those that lose all of their leaves for part of the year. (Wikipedia)
In blogging, deciduous posts are ones that your readers lose all interest in at certain times - eg posts about Christmas carols during January, or winter gardening tips during spring.
Which sounds bad.
Until you realise that deciduous posts are also ones that your readers (both current and new ones) gain renewed interest in at certain times. That means it's quite reasonable for you - and everyone else - to mention them on Facebook, Twitter, Google+ each time that the new "season" starts. If your posts are good, you might even get more new visits from social media in the subsequent seasons than in the first time around.
When you think about it, it's easy to see that in a social-media world ...
Deciduous blog posts leave evergreens for dead.
What does this mean for bloggers
If getting more visitors through either search or referrals is important for your blog, then you should :- Be systematic about how you remember to promote seasonal posts you've already published.
- Find ways to write posts that will be become popular on a cyclical basis.
- Make strategic decisions about whether to change an existing post vs when to make a new post about a seasonal topic.
- Set up Labels or custom-redirects to send people who end up on a previous-year post to the most recent one.
Remember to promote your seasonal posts
Make a calendar of significant factors that should cause extra traffic for your blog, and send yourself a reminder message in time to review and re-share the relevant posts, according to your blog's social media strategy.Working out exactly when do these promotions can be tricky. Ideally this is based on studying your visitor statistics (Analytics or whatever tool you use) to see when the posts got popular last time around.
You might think that you know anyway, because the seasons are obvious, but it's easy to miss earlier-than-expected surges in interest. For example, posts about Christmas music might actually be popular with music directors who're choosing their Christmas programs in September. But you do need to be careful about and where how you promote posts like this - because no one else wants to be reminded about Christmas so soon!
Finding seasonal posting reasons in non-seasonal blogs
Some blogs clearly have cyclic patterns: gardens follow the natural world, folk songs follow holidays (eg workers-rights songs for labor day, patriotic songs for national days), gift suggestions follow established human seasons (Christmas, Valentines), homeschoolers generally follow the school year.But if you look harder, you can find seasonal patterns that apply to lots of other blogs, too. For example, one well-known blogger-helper often does a post towards the end of the American college year reminding people to transfer ownership of their blogs to a non-college Google account.
Ways to do this include:
- Blogging about the similarities (or differences) between your niche and some unrelated by widely-known seasonal event (eg "Writing poetry is not like Christmas because ...".
- Writing about famous people in your topic who have died - close to their anniversary or birthday.
- Making up your own seasonal patter eg "In March, Crotchet-Blogger celebrates cable-stitch".
Promotion existing posts vs publishing new ones
A big question for bloggers with deciduous blog topics is whether they should publish a new post each season, or just polish and promote the existing post(s).The answer depends on the nature of the information each season:
Situation | What do do |
Are there changes to the information each season? | Make a new post, link to it from the last season's posts, promote it like you do any other post. |
Does exactly the same information apply each year | Review the existing post, and then promote it on social media - and perhaps in the blog itself or in other new posts. |
For example, one of my blogs is about public transport news in my city. This has clear seasonal patterns around public holidays, the tourist season, a major sporting event, and the academic year. The sporting event causes the biggest peak, with web-traffic up by 600%, week-on-week. Each year's information for it is very similar: buses leave at (roughly the same time) from (exactly the same place) for (close to the same fare) as last year. But each year there are changes: slightly different times, different effects on other bus services, one year there was a park-and-ride. So for this blog, I do a new post each year. And I go back into last year's post and add a line like
"This information is for 2013.Click here for this year's bus services."
By comparison, in another blog, I've published a printable sheet of non-religious Christmas carol words for which copyright has expired. Over time, it will be possible to add extra carols to this. But this won't happen each year - and all the existing content will continue to be relevant forever. So I don't republish this in a new post each year. Instead, I promote it with a gadget on the sidebar, and I share the post on my social media accounts for the blog.
Be aware that if you do decided to make a slight change to an existing seasonal post, rather than write a new one:
- RSS subscribers probably won't see the enhanced post in their feed.
- Follow-by-email subscribers will see it.
Other things to think about
When you thinking about how you can get the more traffic using the deciduous posts in your blog, there are a few other factors to keep in mind:Look for multi-year cycles

- Some sports events (the Olympics, the Volvo Ocean race, the Commonwealth games) happen every-so-many years.
- Leap years happen once every four years.
- In some countries, elections happen every five years.
These multi-year patterns can be even more powerful than the every-year ones, because less people are aware of them, and readers in general are not-so-likely to remember what you wrote four years ago.
Don't forget the Southern Hemisphere
Spring starts in September, not February, if you live in the bottom half of the world. And cars need to be prepared for winter in April, not November.This may mean that you can re-promote posts based on natural seasons twice a year - or that you should target some seasonal posts by hemisphere.
Some readers have different holidays
It's easy to think that all your readers are just like you, and live with the same seasonal patterns that you do. But that's not always true:- People who don't live in America might not even know when Thanksgiving or Black Friday is, much less what it means.
- In many Western countries, Christmas is a holiday even for people who aren't religious. But there are countries where Christmas isn't a holiday at all and most people don't even know it exists.
How have you used seasonal / deciduous topics to get new interest in your blog?
Related Articles:
Mapping out your blog's social media strategy: how your blog works with your Facebook, Twitter, Pinterest, etc accounts5 reasons why SEO doesn't matter for your blog
Using labels to categorise blog posts
Transferring a blog to a new owner
Follow-by-email, an easy way to offer email subscription to your blog
Labels:forex, iqoption, pubg Hacked
Article,
Blogger,
SEO,
ZZ - needs 2017 theme review
Sunday, 26 October 2014
How to create your own author-centered knowledge graph
I'm not a fear salesman, really! But the thought to name this article as "how to defend abusive content removal requests" comes to me from the reading of the Google's updated report on "How Google Fights Piracy". The following sentence makes me conceiving suspicion:
There are enough known cases, where content scraping sites get better SERP places as the unique content providers. And there are enough abusive content removal requests - just read the Google's report. The best defense is a good offence. We construct our publishing identities network, which serves as our own author-oriented knowledge graph. Its purposes are, that
Read full article »
...sites with high numbers of removal notices may appear lower in search results.On the background of all known Negative SEO cases this can be the next thing, where a honest publisher will be punished for nothing.
There are enough known cases, where content scraping sites get better SERP places as the unique content providers. And there are enough abusive content removal requests - just read the Google's report. The best defense is a good offence. We construct our publishing identities network, which serves as our own author-oriented knowledge graph. Its purposes are, that
- always working removal requests at Google and DMCA takedowns,
- lack of effect in case of abusive third part removal requests,
- doubtless machine-readable relations between author's entity and author's creative work.
Read full article »
Labels:forex, iqoption, pubg Hacked
Knowledge Graph,
Schema.org-Microdata,
Semantic SEO
Subscribe to:
Posts (Atom)