Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
EDIT:
This is a very old question, when escaped_fragment was necessary for search engines, but nowadays, search engines do understand Javascript very well, so this question becomes irrelevant.
===========
I was wondering how much SEO friendly could Polymer be.
As all the code is fully dynamic like Angular, how can the search engines pick up the information of the page? Because also doing things in Angular, I really had a hard time making it SEO friendly.
Will there be a tool to generate the escaped_fragment automatically to feed the search engines?
I guess Google may have thought of the solution, but I wasn't able to find it (even on Google).
According to the Polymer FAQ all we have is
Crawlers understand custom elements? How does SEO work?
They don’t. However, search engines have been dealing with heavy AJAX based application for some time now. Moving away from JS and being more declarative is a good thing and will generally make things better.
http://www.polymer-project.org/faq.html#seo
Not very helpful
This question has bothered me also. The polymer team has this to say about it, looks promising!
UPDATE
Also figure it's worth adding some context from the conversation on the polymer list, with some helpful information as to the status from Eric Bidelman.
Initial examination of the structure of the Polymer site suggests that it serving up static content with shadow-DOM content already inlined in the page. Each HTML file can be loaded from the server directly, via HTTP GET, and subsequent navigation uses pushState (documentation) to inject pages into the current DOM if pushState and JavaScript is supported.
It's recommended to use pushState over _escaped_fragment_, since it's slightly less messy, but you'll still need to do regular templating on the server. See The Moz Blog for more information on this.
DISCLAIMER
I may have missed or misinterpreted some things here, and this is just a quick peek at the guts of the page, but hopefully this helps.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
So, what most comfortable and useful for developer? A similar question was already 4 years ago, and many things could change.
http://activeadmin.info/
https://github.com/sferik/rails_admin
or maybe Typus https://github.com/typus/typus???
Disclaimer: this is only opinion. This kind of question can have no 'correct' answer.
I use Rails Admin a lot on my current main project. It has advantages and disadvantages.
Advantages:
It handles things like nested forms for ActiveRecord relationships out of the box.
Disadvantages:
Adding features or custom behaviour is quite difficult and documentation is over-complex and fragmented.
Putting the DSL for CMS behaviour in the models is not great for code separation.
The default style is a little outdated.
The DSL itself is over-complex, badly documented and prone to code bloat and duplication.
The use of PJAX for page updates can complicate any JS you wish to add to the page. (If you're not careful your code will be run multiple times, or not at all, for a single page.)
The default mechanism for saving content items is incompatible with a database that uses referential integrity. This is a very bad thing. (I ended up patching this code.)
I haven't used ActiveAdmin as much, but when I have I noticed the following things:
Out-of-the-box, you have to roll more of your own features when it comes to things like nested forms for relationships. (This may have changed over time.)
It looks lovely.
The DSL is neatly separated from the model code and feels more logical.
Adding your own features is a lot easier with less code.
Adding JS is pretty trivial.
I don't know if Active Admin is better for referential integrity, but if this interests you let me know in comments and I'll set up a couple of trial projects to show you what I mean.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have a quick question about "mobile". I must add the mobile version to my website and I'm exploring all the solutions. Here are my choices:
1) Add media queries to css and trasform my fixed layout in a responsive layout.
Good: one layout only, code for Google bot is the same
Not good: code is heavier, on mobile I load all the js and CSS, impossibile to go to the desktop version
2) Rails 4.1 Variants
Good: i can create a lightweight mobile website, I can have desktop version, I can optimize the mobile experience, using the layout I can also create mobile apps with Cordova
Not Good: the HTML for the same page is different for desktop and mobile. I'm worried about SEO
Any idea?
There is no single best way. The answer depends on your specific needs and case. This is mostly an opinion-based question.
Both solutions are correct. However, the main difference is that the case (1) is more limited compared to case (2). The CSS-based layout makes sense when you just want to make sure the main version works well on mobile devices. It's not a real optimization, because the device will have to load the entire page in any case.
The second option (2) is a real optimization. By providing device-optimized templates, you can skip the pieces that the mobile device doesn't need (such as big images, unnecessary item listing, etc) effectively reducing the weight of the page. You can also inject mobile-specific features.
The SEO issue is a non-issue. You can instruct the search engines to ignore the SEO content using the appropriate meta tags or you can also use the canonical tag if you should decide to provide the content under a different path or domain (for instance if you add a specific extension for the mobile-optimized pages).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am currently preparing a talk about Polymer.dart and would like to give a short introduction to dart. There is one question I would like to be prepared for:
Will there be ever a dynamic code injection via <script> for dart?
This article says that there is currently no support for this for a good reason.
However, the currently relativizes the statement a bit and I wonder if there is anything planned in the future to support dynamic code injection?
If for example the "eval" command is introduced in Dart, then the answer is YES, Dart is vulnerable to injection attacks.
Javascript is in this regard like SQL: it has the same vulnerability than all other dynamically interpreted programming languages (this includes all shell scripts, PHP...), which I call "DATA IS CODE". Such languages have a concrete syntax which is meant for human consumption and their processing entails a first step which is called PARSING: the sequence of characters is broken down into an internal structure which describes the meaning of the expression, in a way which the computer can distinguish the DATA from the INSTRUCTIONS. It is the same problem that lead to the introduction of the NX (No-eXecute) bit on modern CPUs. Functions like "eval" open the door to malicious code to be executed with no constraint. Parsing code at runtime should NEVER be allowed in a secure language.
This is why Dart doesn't recomend the use of injections, as explained here:
https://www.dartlang.org/articles/embedding-in-html/#no-script-injection-of-dart-code
"No script injection of Dart code We do not currently support or
recommend dynamically injecting a tag that loads Dart code.
Recent browser security trends, like Content Security Policy, actively
prevent this practice."
But google should do more than that, and forbid it entirely, together with the "eval" command.
It is better to direct such questions to your crystal ball ;-)
Google is very reluctant to make statements about such things.
There were discussions in the past and they considered it and they might reconsider it eventually.
Currently the only option is to launch new isolates and even this is still work in progress and has still limitations that makes this feature hard to use (no access to the browser API for client isolates for example).
I'm not sure this question can really be answered; as it's probably not been decided.
Based on what's written in that page; I think it's very unlikely (especially as other rules, like one script tag, and a single main entry point).
But as with everything, things can change!
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm just curious... why do some large sites (high traffic, a lot of data) use .html extension on their pages even though it's is clear that it's interpreted by php on the server side?
For example metrolyrics.com/top100.html
It's pretty clear that it uses php on the back-end, but still got .html suffix.
Is it better for SEO? Or am I wrong about the back-end and these pages are really static HTMLs as their extension says?
Every opinion is welcomed. Thanks! :)
Metrolyrics might not necessarily be using PHP for its back-end. It could be using other server side languages such as Ruby or Python.
I'd say one of the main reasons for not having PHP in a websites url is for protection. It is more difficult for people to hack a website if they don't know what language is being used on the back-end.
Secondly, websites tend to look more professional if they don't have an extension. And it raises less questions for end users. It's true that people are more used to seeing .html at the end of a URL, users may get more confused if they see .php instead.
It was a well known convention back in the day where static HTML pages were highly regarded for seo. Basically what they done was to keep thousands of these generated HTML pages on the server, making the website look like a content monster and thus elevating its Page Rank and the amount of google scans.
It's also a good way to cache pages and decrease server calls.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
There are a few plugins that implement a traditional wiki (collection of stand-alone wiki pages in a flat namespace), including irwi and wiki_column. That's not what I want.
What I want is something modular, so I can add a wiki panel on any random page of my website, or have fields in several different models be "wikified" (editable by all with version history). In other words, I want embeddable wiki objects rather than a full-page wiki, and I want the wiki content blocks to be anonymous rather than named in a unified flat namespace, or associable with specific objects.
Is there anything like that?
To wikify content is rather easy, so here some thoughts to it:
Have a look at the Railscast: Markdown with Redcarpet which explains how to wikify (that means style) content as HTML. That is one of the things you have to have to wikify pages. It is rather simple, and works like a charm.
Second, how will you link to "wiki content" without a name? For me, wiki is at least some content that is linked ...
To get a history, you should link your model object to versions of model. The Railscast #177 implements a wiki with versioning, perhaps that gives you enough hints to do it.
To add "a wiki panel" means then, that you have a (versioned) model WikiPanel, that may then used by other models. Hope my hints give you a starting point (even if it comes 20 months too late ...).
You could check out AdvaCMS, which features a wiki. AdvaCMS is built with Rails Engines (e.g. plugins). Check it out at http://adva-cms.org/wiki