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

Any disadvantages? #10

Open
deadsoul44 opened this issue Nov 17, 2022 · 27 comments
Open

Any disadvantages? #10

deadsoul44 opened this issue Nov 17, 2022 · 27 comments

Comments

@deadsoul44
Copy link

Hi, thanks for the great package. I don’t have any seo experience. So, I have to ask this question before investing in Flutter for web. Does this package have any disadvatages when compared to other seo packges or when compared to regular js web apps?

@krokyze
Copy link
Owner

krokyze commented Nov 20, 2022

Hey. I would say it really depends on your situation. If webpage is the only thing you need I would probably go for the regular js web app as there's still quite a lot of unanswered "How does the googlebot actually work" questions which you can read more about here: flutter/flutter#46789 but if you're planning to create Android/iOS/Web project and not aiming for 100% perfect SEO support at least not for now then I would advise you to give this package a try.

The only other SEO package I'm familiar with is https://pub.dev/packages/seo_renderer which I did work on (a bit) but for now I cannot say if it's better/worse. The issue with it is that the solution might be seen as cloaking which is black hat seo, so to solve it I created this package.

Currently I'm waiting for Google to index my example webpage https://krokyze.github.io/flutter_seo once i'll get some results I'll share them within README.

@Andreigr0
Copy link

I think the main problem with Google bot is that it uses the same principle as a browser's "find on page" feature. One cannot search through the whole page only through a part which is visible on the screen at the moment.
As far as I can see your solution doesn't bring anything new to that

@krokyze
Copy link
Owner

krokyze commented Nov 30, 2022

@Andreigr0 initially the main goal for this plugin was to tackle the issue which seo_renderer had. That the solution isn't potentially seen as black hat seo and is updating html doesn't matter if it's robot or not. You can try out the demo page https://seo.krokyze.dev/#/posts and check that "find on page" does actually work.

If you're thinking about content hidden behind the scroll that's infinite scroll issue, which is an issue for regular webpages too, you can read more about here how GoogleBot handles it: https://www.searchenginejournal.com/how-google-crawls-pages-with-infinite-scrolling/439008/

@guplem
Copy link

guplem commented Dec 14, 2022

Currently I'm waiting for Google to index my example webpage https://krokyze.github.io/flutter_seo once i'll get some results I'll share them within README.

@krokyze did you get the results?

I am doing this Google search, but I don't get "any valuable results".

2022-12-15 08_39_09-site_seo krokyze dev - Google Search

@krokyze
Copy link
Owner

krokyze commented Dec 21, 2022

For whatever reasons Google didn't index the page while I was using Github default domain http://krokyze.github.io/flutter_seo

After setting up custom one seo.krokyze.dev and re-requesting indexing from Google they did it for only the list page, so I'm still trying to figure out what do I miss in the config.

But what I can confirm for now is that Google was able to index the content:

@RBT22
Copy link

RBT22 commented Mar 14, 2023

Hi! What happened to the demo? Is it still working? If i try out the searches from the previous comment's images I don't get these nice results.. Thanks!

@krokyze
Copy link
Owner

krokyze commented Mar 15, 2023

Hi! What happened to the demo? Is it still working? If i try out the searches from the previous comment's images I don't get these nice results.. Thanks!

Hey, slowly (not enough time + validation within Google takes alot) exploring and trying to understand what am I missing as still only the landing page is indexed and none of the items. Few weeks ago I found out that possibly all of them are ignored because I was still using the hash in url. So I migrated to path url strategy and submitted the page for reindex, now waiting for some potential changes in results.

I still see the same search results as mentioned before:
https://www.google.com/search?q=site%3Aseo.krokyze.dev&ie=utf-8&oe=utf-8&aq=t
https://www.google.com/search?q=flutter+seo+green+papaya+salad&ie=utf-8&oe=utf-8&aq=t

@RBT22
Copy link

RBT22 commented Mar 19, 2023

Ohh sorry I messed up something (I don't know what :D), but now I get the same results.
Please let us know if there is any update with the reindexing, thank you again! :)

@kevlar700
Copy link

kevlar700 commented May 6, 2023

Did you try html mode as used on Android instead of wasm 🤔

@krokyze
Copy link
Owner

krokyze commented May 7, 2023

Did you try html mode as used on Android instead of wasm 🤔

Not sure if I'm understanding the question but I'm using HTML mode for GoogleBot as the initial load is faster.

@kevlar700
Copy link

kevlar700 commented May 29, 2023

Not sure if I'm understanding the question but I'm using HTML mode for GoogleBot as the initial load is faster.

I just wondered if the flutter app being built in html mode would make any difference or not?

--web-renderer html

I also wonder if the following widget has any influence on text indexability?

https://api.flutter.dev/flutter/widgets/EditableText-class.html

Edit: Sorry I meant

https://api.flutter.dev/flutter/material/SelectableText-class.html

@krokyze
Copy link
Owner

krokyze commented May 30, 2023

I just wondered if the flutter app being built in html mode would make any difference or not?

--web-renderer html

It does affect the initial load of page as the CanvasKit is about 2MB extra in download size. It's in the tips https://github.com/krokyze/flutter_seo#force-html-renderer-for-bots

For example https://seo.krokyze.dev/posts initial load difference on Google Chrome is 2.4MB (CanvasKit) vs 806kB (HTML).

I also wonder if the following widget has any influence on text indexability?

https://api.flutter.dev/flutter/widgets/EditableText-class.html

Edit: Sorry I meant

https://api.flutter.dev/flutter/material/SelectableText-class.html

You might try using SelectableText and not Seo.text but last time I gave it a try it does hit quite on performance so I wouldn't advise to do it.

@malvinpratama
Copy link

I try to search your web with bing & duckduckgo and they can find your page. but need specify text targeting.

https://duckduckgo.com/?va=v&t=ha&q=flutter+seo+green+papaya+salad+at+varius+vel+turpis&ia=web
https://www.bing.com/search?q=flutter+seo+green+papaya+salad+at+varius+vel+turpis&form=QBLH&sp=-1&lq=0&pq=flutter+seo+green+papaya+salad+at+varius+vel+turpis&sc=0-51&qs=n&sk=&cvid=E33494FFC5BF45E8A67F3B284D3CBF8B&ghsh=0&ghacc=0&ghpl=

on bing that's not on top but still in page one.
and can you try the meta seo library (https://pub.dev/packages/meta_seo)?
I think we can increase the score if we add metatag like decription & ogdescription.

@TMSantos
Copy link

TMSantos commented Aug 29, 2023

hey @krokyze great package, bringing SEO to Flutter web is like a dream.

Any ideia why it doesn't seem to work for all posts?
for example:
https://www.google.com/search?q=flutter+SEO+steak+tartare -> doesn't work
https://www.google.com/search?q=flutter+seo+green+papaya+salad -> works

@krokyze
Copy link
Owner

krokyze commented Sep 6, 2023

hey @krokyze great package, bringing SEO to Flutter web is like a dream.

Any ideia why it doesn't seem to work for all posts? for example: https://www.google.com/search?q=flutter+SEO+steak+tartare -> doesn't work https://www.google.com/search?q=flutter+seo+green+papaya+salad -> works

Hey.

So the issue is that SEO will never know how to scroll a list in Flutter and as the "Steak Tartare" is at the bottom of the list it simply doesn't know about it. To overcome it I've tried adding https://seo.krokyze.dev/sitemap.xml which SEO should take into account and index each page but to be honest I'm not sure why it's ignoring it and lately haven't got time to try debugging it.

@TMSantos
Copy link

TMSantos commented Sep 7, 2023

@krokyze thanks for replying, I thought about that, maybe didn't pick best example, let's say for example this one:

https://www.google.com/search?q=flutter+seo+chocolate+brownie which is the first post, also doesn't seem to work.

I'm trying to make sense of how this works as it works so well for post 3, but post 1 doesn't even show in google results, but I'm not SEO expert, don't even know if it's related to Flutter or if the same would happen with HTML website

@kfranic1
Copy link

@krokyze any updates on using sitemap.xml?

Also another way to let the bot know about all of the elements is to use Column inside a SingleChildScrollView instead of ListView.separated, because Column creates elements even if they are not currently in the visible part of the screen while ListView only renders those elements that are currently visible.
I understand that this might affect load time for the app which can also affect SEO score but if there are not a lot of elements or if they are fairly simple this might be a good approach.

@krokyze
Copy link
Owner

krokyze commented Sep 25, 2023

@krokyze thanks for replying, I thought about that, maybe didn't pick best example, let's say for example this one:

https://www.google.com/search?q=flutter+seo+chocolate+brownie which is the first post, also doesn't seem to work.

I'm trying to make sense of how this works as it works so well for post 3, but post 1 doesn't even show in google results, but I'm not SEO expert, don't even know if it's related to Flutter or if the same would happen with HTML website

To be honest I'm no SEO expert too, but I do see the webpage in the results:
Screenshot 2023-09-25 at 12 30 57

@krokyze
Copy link
Owner

krokyze commented Sep 25, 2023

@krokyze any updates on using sitemap.xml?

Also another way to let the bot know about all of the elements is to use Column inside a SingleChildScrollView instead of ListView.separated, because Column creates elements even if they are not currently in the visible part of the screen while ListView only renders those elements that are currently visible. I understand that this might affect load time for the app which can also affect SEO score but if there are not a lot of elements or if they are fairly simple this might be a good approach.

I haven't had time to debug and try explore why GoogleBot does see the sitemap but haven't visited any of the posts.
Screenshot 2023-09-25 at 12 35 39

Using Column, SingleChildScrollView I'm seeing as a hacky solution that might work for few but not for most so that's why I'm using ListView.separated.

@kfranic1
Copy link

@krokyze any updates on using sitemap.xml?
Also another way to let the bot know about all of the elements is to use Column inside a SingleChildScrollView instead of ListView.separated, because Column creates elements even if they are not currently in the visible part of the screen while ListView only renders those elements that are currently visible. I understand that this might affect load time for the app which can also affect SEO score but if there are not a lot of elements or if they are fairly simple this might be a good approach.

I haven't had time to debug and try explore why GoogleBot does see the sitemap but haven't visited any of the posts. Screenshot 2023-09-25 at 12 35 39

Using Column, SingleChildScrollView I'm seeing as a hacky solution that might work for few but not for most so that's why I'm using ListView.separated.

You are right, this is hacky, so the solution would probbably be to use sitemap somehow. As yourself I'm also not an expert for SEO, I just recently started learning about it. If you discover something usefull, please do share.

@krokyze
Copy link
Owner

krokyze commented Jan 21, 2024

FYI looks like I've finally found the issue why Google didn't index most of the example pages. The issue was because of how Github Pages work and incorrect sitemap.xml. I'm guessing whole page will be indexed in few weeks.

Screenshot 2024-01-21 at 20 32 00

Screenshot 2024-01-21 at 20 32 24

@Chuckame
Copy link

hey @krokyze I used to dev with flutter, but searching for a SSR/SEO ready library to not go to react. Your library seems really interesting!

Btw, after a quick search, I would suppose that google is not taking into account your subpages as they are not reachable. Not because of the links that are enough, but maybe because of the container that is an flt-seo and not a standard div, section or else.

after crawling your website https://flutter-seo.netlify.app/posts with https://www.xml-sitemaps.com/ and other sitemap generators, all are not seeing your subpages. Is it because of that flt-seo or because of javascript execution requirements ?

@krokyze
Copy link
Owner

krokyze commented Mar 31, 2024

Btw, after a quick search, I would suppose that google is not taking into account your subpages as they are not reachable. Not because of the links that are enough, but maybe because of the container that is an flt-seo and not a standard div, section or else.

Hey. Thanks for the tip, to be honest didn't knew Google would ignore them. Just did some reading and you might be true. Changed it to div now, let's see what Google says.

after crawling your website https://flutter-seo.netlify.app/posts with https://www.xml-sitemaps.com/ and other sitemap generators, all are not seeing your subpages. Is it because of that flt-seo or because of javascript execution requirements ?

Yep, you're correct.

@Chuckame
Copy link

Chuckame commented Apr 1, 2024

After reading some articles about flutter and seo, I've discovered that hidden content would be banned by the indexers as the website is trying to display something to the indexer that isn't visible by a real user (e.g. Invisible div). It could be considered as "black hat technique"... "could", but not "will", as the user will still see the content through the flutter engine... Let's see how this will be considered

@krokyze
Copy link
Owner

krokyze commented Apr 1, 2024

After reading some articles about flutter and seo, I've discovered that hidden content would be banned by the indexers as the website is trying to display something to the indexer that isn't visible by a real user (e.g. Invisible div). It could be considered as "black hat technique"... "could", but not "will", as the user will still see the content through the flutter engine... Let's see how this will be considered

Yes that might be a problem, but I don't really see how google bot might recognise it.

@zelvak
Copy link

zelvak commented Oct 25, 2024

Hi, thanks for very promising package! From the conversation I am not sure if the indexing issue was eventually resolved or not. Were you able to index all the subpages or at least the visible ones?
Thanks

@krokyze
Copy link
Owner

krokyze commented Dec 8, 2024

Hi, thanks for very promising package! From the conversation I am not sure if the indexing issue was eventually resolved or not. Were you able to index all the subpages or at least the visible ones? Thanks

Hey, I haven't really had the time to figure out why not all webpages are currently being indexed. The results seem quite random. For example, today it shows /, /posts, /posts/0, and /posts/32 as indexed.

Screenshot 2024-12-09 at 00 39 29

When I resubmitted the sitemap.xml, it showed 64 pages as "Not indexed," but after a few days, the number randomly decreased.
Screenshot 2024-12-09 at 00 40 49

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