Как SEO влияет на изменения страницы ReactJS?

Я использую простой контроллер для изменения отображаемого представления ReactJS следующим образом:

    getInitialState: function() {
        return {view: null};
    },
    setViewFromHash: function () {
        var that = this;
        var address = window.location.hash;
        if(address != "")
        {
            address = address.substring(1);
            require(["jsx!" + address], function (View) {
                that.setState({view: View});
            });
        }
        else
        {
            require(["jsx!Home"], function (View) {
                that.setState({view: View});
            });            
        }
    },
    componentWillMount: function () {
        var that = this;
        window.onhashchange = function () {
            that.setViewFromHash();
        };
        this.setViewFromHash();
    },
    onTitleUpdate: function(title, canonical) {
        document.title = title + titleDefault;
        $('link[rel=canonical]').prop('href', canonicalDefault + canonical);
    },
    render: function () {
        var viewToLoad = null;
        if (this.state.view === null) {
            viewToLoad = "Loading...";
        } else {
            viewToLoad = this.state.view({ onTitleUpdate: this.onTitleUpdate });
        }

        return (
            <article>
                {viewToLoad}
            </article>
        );
    }

В представлении я запускаю обратный вызов:

var Home = React.createClass({
    render: function () {
        this.props.onTitleUpdate("Home", "");
...

Мой вопрос заключается в том, происходит ли этот обратный вызов в момент, который принесет пользу SEO, то есть заголовок страницы и канонические изменения, обновляются ли они так, чтобы робот Google мог понять, что заголовок и канонический текст изменились? р>

Я также рассматриваю возможность использования Cortex для управления моими данными, будет ли это лучше? Хуже? Без разницы? Насколько SEO /Google-бот воспринимает «страницу», которую он просматривает?

4 голоса | спросил Serj Sagan 12 AMpSat, 12 Apr 2014 03:43:28 +040043Saturday 2014, 03:43:28

1 ответ


0

Google обычно хранит подробности о том, когда они исполняют JavaScript в тайне; рассмотрим эту цитату 2010 года:

  

"Некоторое время мы сканировали в JavaScript и искали ссылки. Google стал умнее в отношении JavaScript и может выполнять некоторый JavaScript. Я бы не сказал, что мы выполняем весь JavaScript, поэтому существуют некоторые условия в который мы не выполняем JavaScript. Конечно, есть некоторые общеизвестные вещи JavaScript, такие как Google Analytics, которые вы даже не захотите выполнять, потому что не хотите пытаться генерировать фантомные посещения из Googlebot в вашу Google Analytics. ».

В целом, я бы просто предположил, что Google (и, конечно, некоторые другие поисковые системы) не будут выполнять мой JavaScript, а это означает, что любые изменения, которые я внесу на страницу, не будут приняты. Конечно, вы можете просто попробовать и посмотреть, что видит Google , чтобы знать, сработало ли это.

В любом случае React может отображать на стороне сервера и прозрачно подключите его обработчики событий к клиенту, что даст вам возможность легко справиться с обоими. (Вам может понадобиться повторно настроить код, чтобы он работал в обоих контекстах.)

ответил Michelle Tilley 12 PMpSat, 12 Apr 2014 20:34:30 +040034Saturday 2014, 20:34:30

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132