Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google punishment chances? #1

Open
denisviana opened this issue Jun 30, 2021 · 10 comments
Open

Google punishment chances? #1

denisviana opened this issue Jun 30, 2021 · 10 comments

Comments

@denisviana
Copy link

There is any chance of a punishment from Google if I use this package?

@iamSahdeep
Copy link
Owner

There should not be, I have seen some comments on issue as well that people are using this kind of technique to make a workaround.
For example in this comment

They are entirely using a different template for their website and seems like working for them so far and we are not even changing things entirely.
So if we are not manipulating the data and using it as it should be there should be no consequences.

But to be on safer side I have asked the same at google SEO help community. Let's see what input they will provide.
https://support.google.com/webmasters/thread/115430508/will-this-be-considered-cloaking-or-anything-which-may-lead-to-penalising-my-site?hl=en

@denisviana
Copy link
Author

Thank you.

If I can ask another question... Is there any downside to using it?

@iamSahdeep
Copy link
Owner

downside as in?

@denisviana
Copy link
Author

downside using this package... Any important limitation, any case where it should not be used?

@iamSahdeep
Copy link
Owner

iamSahdeep commented Jun 30, 2021

Honestly, It's hard to tell right now as it's still in development, there will a lot of use cases which will come soon, limitations would be visible at that time.
Apart from it I would recommend to simply just try this out for some time on any other non important projects in terms of SEO.

@hazarbelge
Copy link

The post in the Google SEO Help Community is locked right now. Are there any new information about the situation? I think it is safe, but to be safer I've decided to wait.

@Levi-Lesches
Copy link

Levi-Lesches commented Mar 10, 2022

Unfortunately, this package seems to qualify as "cloaking" under the Google SEO guidelines and can get your app/site heavily penalized or even removed from Google Search. Some quotes from Google's Cloaking Guidelines:

Cloaking is considered a violation of Google's Webmaster Guidelines because it provides our users with different results than they expected. Some examples of cloaking include:

  • Serving a page of HTML text to search engines, while showing a page of images to users

Cloaking is essentially showing different content to users than Googlebot

If you were to look through the code of your app or web server, would you find something that deliberately checks for a user-agent of Googlebot specifically or Googlebot's IP address specifically?.... That's the stuff that's high-risk.

Are you treating users roughly the same way as you're treating Googlebot?

The code here violates these principles, as it explicitly checks the user-agent to check for Googlebot/other scrapers and shows different HTML tags based on their presence.

class _RobotDetectorState extends State<RobotDetector> {
/// Regex to detect Crawler for Search Engines
final _regExp = RegExp(r'/bot|google|baidu|bing|msn|teoma|slurp|yandex/i');
late bool _detected;
@override
void initState() {
super.initState();
_detected =
widget.debug || _regExp.hasMatch(window.navigator.userAgent.toString());
}
@override
Widget build(BuildContext context) => widget.child;
}

While it may seem like essentially adding "alt-text" to your Text widgets, to the Googlebot you are returning completely different HTML content, and that is the crux of the issue,


However, simply checking for Googlebot in the user-agent isn't enough to be considered cloaking. From Google's page on Dynamic Rendering:

Dynamic rendering is not cloaking

Googlebot generally doesn't consider dynamic rendering as cloaking. As long as your dynamic rendering produces similar content, Googlebot won't view dynamic rendering as cloaking.

When you're setting up dynamic rendering, your site may produce error pages. Googlebot doesn't consider these error pages as cloaking and treats the error as any other error page.

Using dynamic rendering to serve completely different content to users and crawlers can be considered cloaking. For example, a website that serves a page about cats to users and a page about dogs to crawlers can be considered cloaking.

This means you can use some pre-rendering service to pre-render your page and display roughly the same content you would for a human to Google's crawlers.

@ubergaijin
Copy link

I'm so confused by Google Search Console recommendations, they are quite vague and even contradict themselves.
On one hand they say (in their video on cloaking) that even the hash of the page should be identical for a bot and a human agent, and your code shouldn't try to identify that the agent is a bot by any mean... and on the other hand they say that dynamic rendering is not considered cloaking as long as the content is "similar".
What does qualify as similar? Where do they draw the line and who is doing it? Is it googlebot or do they do some manual audit to compare the pages? Does a text only html page with no formatting counts as "similar content" as long as the same text is displayed on both versions?

@iamSahdeep
Copy link
Owner

@Levi-Lesches Thanks for the input, but as @dossiman stated, there is still a lot of confusion on the penalization part.

Also we are not showing Dogs instead of Cats xD, well that depends on us, developers itself. It also depends on us how much similar we are making these divs similar to our actual content, showing every image/text/link etc on the page. Not sure how much points it add to not consider this as cloaking.

@Levi-Lesches
Copy link

What does qualify as similar?

I imagine this is to protect cases where the page updates in real-time (such as ads or stats). In this case, every query of the page will produce slightly different content, be it a user or bot. As for extent, I'm sure that as long as the structure of the page remains the same, it is okay to change the content within.

Is it Googlebot or do they do some manual audit to compare the pages?

Perhaps some cases and appeals are reviewed manually, but given the scale of the internet, you have to assume most of this is automatic. That's why I believe it's safe to assume the content can change slightly but the overall structure has to be the same since the bot isn't going to put that much effort into analyzing the page at such a high level. In any case, given how the content is rendered (on top of the original), it would probably trip up the OCR in some cases.

Regardless of whether a page with this package may slip under the cracks, the official answer given by Google is that changing the content of the page can lead to possible cloaking penalties. Adding elements to the DOM changes the content of the page (see the image on the README) and is not rendered the same as Flutter does. That is very different from dynamic rendering, which renders all the elements exactly as a user would see it before sending it to the crawler. Additionally, more complex layouts such as alignment and coloring cannot be accurately represented using this package, which further distances this from dynamic rendering.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants