Categories
google

Hack For Removal Of Google’s View Image Option

You might have noticed that, google has removed its view image option. This is an initiative by Google to lower down the online theft of pictures. This should also lower down the copyright violations of online images.

But due to the removal of this option, it has also raised difficulty to bloggers and other kinds of users. Though, there are already different plugins out there, which claim to bring back that option right at its place. But, if you’re reluctant to installing any external plugin. Or you on’t want to mess up with google practice, this article presents a clean way to get the url of those images, with 100% surety.

This method is completely lightweight, in terms of no installation of any third party plugin. This won’t as well notify google, that the particular user could be violating the view image practice. Let’s jump in to see how this could be done.

(This is a developer/programmers’ hack, so it might feel a bit lengthy, but surely a clean one.)

1- Search your image on Google.

2- Click on the image. It will take you to the respective url, wherever, it has been indexed from.

3- Now, on this page, if you find the same image, then great. You can right click onto the same and save the image.

4.1- If you can’t find the image on the page, press Ctrl+U or right click and choose View Page Source.

4.2- Find in the newly open tab, “og:image” text. If you find this text, the url in the content part of the image should be the required image.

4.3 If you don’t find that text, try another image from the related images in google search and go to step 2.

Now you can find the url of any image, not just images on Google, skipping any malfunctioning/third party plugin.

Hope this article was helpful. Please like/share. Have a good day!

Categories
accelerated mobile pages amp amp converter escalatingweb google googleio

AMP Limitations And Advantages

Hello Everyone, in this article we will discuss about AMP Limitations And Advantages. AMP stands for Accelerated Mobile Pages. It is a recent google technology which makes access of a web page lightening fast. Google creates cache of the respective web page and delivers it at their end. In google search results, google prioritizes amp search results over normal web page results.

amp limitations

This could be the next big breakthrough in web development in order to get larger audience on lower prices. Though being a great technology, it is always good to go through checklist before making up your mind to adapt a technology. So ahead of this article, we will discuss about AMP Limitations and Advantages, and other tweaks as well to bypass the limitations.

Limitations:

1- In order to build AMP for a platform, it involves a whole new development style. It has its own html tags and needs to be implemented carefully. You can find more about specification here. I would not deny the fact, it is not so simple for beginners.

2- The first result is quite slow. Even if you have built AMP for a platform, you need to wait for about 48-72 hours for any results(error or success). Before that you can’t even say anything about whatever you have developed.
There are methods though, in order to verify your AMP development but the end result is only known after google successfully crawls AMPs.

3- No external javascripts are allowed. So, it does limit down javascript heavily dependent platforms.

4- Only one developer style element allowed. You do not have much window with css as well.

#limitation 1# In order to tackle with this, you can also use Automatic AMP Converter Platform. Using this, you don’t have to worry about any development phase and you can get your AMP platform within a minute.

Advantages:

1- Since these are cached content on Google’s server, they are very fast in terms of accessibility even in low network.

2- Since they are fast even in low network, they have larger audience(more traffic).

3- You don’t have to pay for server’s cost for the amp traffic, as these are hosted on Google’s servers.

4- They allow faster ads, so better cpm, more money.

5- Independent of your normal web page.

6- It is free of cost.

So, this was a quick discussion about AMP limitations and Advantages. Hope it helps!

Categories
accelerated mobile pages amp amp converter google googleio organic progressive web app pwamp

Automatic AMP Converter Platform

Hello Everyone, in this article we will see how to use Automatic Amp Converter Platform and get your platform’s amp version in just few minutes. For those who need a little introduction, AMP stands for Accelerated Mobile Pages which is google’s recent technology. These pages have lightening fast accessibility, so they open comparatively faster than a normal webpage even in low network. Since the speed is the bet, google prefers and has declared that they prioritize AMP search results over normal web pages. A lot of platform(ndtv, thehindu, buzzfeed, scoopwhoop, etc.) have already got their AMP and are doing great.

It is very important to get your AMP version, in order to increase organic traffic. A lot of other platforms(medium, techcrunch, etc.) have even started amp linking to their website. That means if a webpage reference is given on a platform and that webpage has an existing amp version, that link would open amp webpage. To get more insights for AMP, you can checkout this link.
AMP converter

In order to build AMP for your platform, you need to follow all new html tags specified by AMPPROJECT, and I would not say it is an easy task to do that. The other way out is to use Automatic AMP converter Platform and build AMP for your platform within a minute. Yes, that’s true. Sounds interesting!

Let’s jump then!

1- Go to Automatic AMP Converter Platform.
AMP converter

2- Do a free and easy registration. Click On Register above.
AMP converter

3- Following from above, complete your registration.
AMP converter

4- After successful registration, you will land to features page, choose Accelerated Mobile Pages tab.
AMP converter

5- Click On Use AMP Engine Now and follow the instruction.
AMP converter

6- Voila! Your platform has their AMP Now.

It takes about 2-3 days to get your first AMP indexed in google search. I suggest give it a week or so, and keep tracking in your google webmaster console for number of AMPs indexed by Google.

Also read about Automatic PWA Converter Platform.

Categories
analytics chat chatting google google-analytics javascript live live-users long-polling nginx node.js performance persistent persistent-connection php5-fpm Proxy real-time response reverse-proxy socket socket.io socks tcp upstream web-server websocket websocket-handshake

How To Make Your Own Analytics Tool?

An analytics tool is a tool that you can use to get the information about how is your website performance, how are the users using it, what are the number of users at anytime(live users), live users for different urls, and other infos. One such example of the tool is the google analytics.

Analytics tool

Analytics tool gives a lot of information about your website with the nice looking graphs and all. In this blog, we will be discussing how we can make such analytics tool(digging the data).

Question 1: Why should we make such thing if it already exists?

Answer : One reason is that it is not free for always. The other reason is that the process of making it is very sexy and you learn technologies that you can use to make your own other real time apps like chatting app. Now that is more a valid reason.

Question 2: What are we talking about?

Answer : This is an example of a real time application. You see, you are tracking live users’ data. The data can be anything like total number of users anytime or number of users for different urls or different referral or different user agent or different visited ips, or anything. The other example of a real time application is a chatting application where a lot of users are communicating at the same time.

Question 3: What technologies are used for such an application?

Answer : So we need a continuous stream of response from the server about their performance as only servers know what is hitting them. It can only be achieved if there is some persistent connection between client and server so that server can continuously push data to the client. With persistent connection I would mean one for literally persistent connection(web sockets) or else timed persistent connection(long polling) or else chunk persistent connection(polling). By timed persistent connection, I mean persistent connection only for certain time interval after which it is closed and again opened. And by chunk persistent connection, I mean lots of request with no persistency, but the requests are so frequent that altogether they seem persistent(my bad).

Among all, I prefer web sockets, as I can’t logically satisfy myself why to use others and more of it that they are the outdated styles and only existed when sockets were not there.

So in this tutorial we will be using socket.io library with node.js to create web sockets. Below are the other libraries with other language which I found from here.

Analytics tool

And yes, we are going to use Nginx as a reverse proxy for web sockets. A very great tutorial regarding this can be found here. You can skip Nginx if you wish and directly test for your node.js server.

For Nginx configuration, as mentioned in tutorial,

server {
    server_name app.domain.com;
    location / {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_pass http://socket_nodes;
    }
}

Proper explanation is given in that tutorial for how this will work for sockets. Now we setup our Node server(server.js), a very nice tutorial can be found here.

var data = {};
var http = require(“http”);
var url = require(‘url’);
var fs = require(‘fs’);
var io = require(‘socket.io‘);
var path;
var server = http.createServer(function(request, response){
        console.log(‘Request Accepted’);
        path = url.parse(request.url).pathname;
        switch(path){
            case ‘/’:
                response.writeHead(200, {‘Content-Type’: ‘text/html’});
                response.write(‘hello world’);
                response.end();
                break;
            case ‘/live’:
                fs.readFile(__dirname + ‘/socket_io.html’, function(error, data){
                    if (error){
                        response.writeHead(404);
                        response.write(“opps this doesn’t exist – 404”);
                        response.end();
                    }
                    else{
                        response.writeHead(200, {“Content-Type”: “text/html”});
                        response.write(data, “utf8”);
                        response.end();
                    }
                });
                break;
            default:
                response.writeHead(404);
                response.write(“opps this doesn’t exist – 404  –“+path);
                response.end();
                break;
        }
    });
 server.listen(8001);
 var listener = io.listen(server);
 listener.sockets.on(‘connection’, function(socket){
    console.log(‘Socket Made.’);
    setInterval(function(){
        socket.emit(‘showdata’, {‘data’: data});
    }, 1000);
 socket.on(‘disconnect’, function(){
    console.log(“Socket Closed.”);
 });
});

Load socket.io.js on the client side in your socket_io.html which will be used to create event to create a persistent connection. (Please don’t bang your head for how would it find socket.io.js)

/socket.io/socket.io.js

     var socket = io.connect(); // your initialization code here.
     socket.on('showdata', function(data){
          console.log(data);
     });

Now you can see all the data in your browser’s console. You can put this data at the right place of your analytics html. Now you can easily send continuous data from node server to your client.

Are you still wondering how would we gather data? Suppose we want to track number of live users, for that we will use a key “live” in data variable and initialize with 0. We will increment it as soon as there is a socket made and decrement it as soon as the socket is closed(Make sure io.connect() is called once and only once for a page load). So the data[‘live’] will determine the number of live users.

In server.js,

listener.sockets.on(‘connection’, function(socket){
    console.log(‘Socket Made.’);
    data[‘live’] +=1;
    setInterval(function(){
        socket.emit(‘showdata’, {‘data’: data});
    }, 1000);
 socket.on(‘disconnect’, function(){
 data[‘live’]-=1;
    console.log(“Socket Closed.”);
 });

As simple as that. It is just the logics in node to be done and you can achieve any data. Now for temporary data(by temporary I mean the machine hosting node server is until rebooted), we don’t need any extra storage.

If we want to use some durable data, or store some information, we can choose database of our choice and send data from node to database.

Now we are also using Nginx as a reverse proxy which is helpful in load handling and better scaling. We can extract other information like user ip, upstream responses(php), and other valuable information and send to node.

So yes, it is really interesting to make such tool, I told you so. You are surely going to stuck in somewhere or make it up or for any suggestion or for confusion, we can always discuss.

Great to see you people with your own analytics tool. 🙂