Категории

  • Голосование
  • Право голоса
  • Киев
  • Украина
  • Здоровье
  • Популярное
  • Новости
  • Новости

      Artmisto
      Наша команда-партнер Artmisto. С "Buddy.Bet" азартные игроки найдут идеальное место для развлечений и возможность выиграть крупные суммы.

      Цены, купить в Украине, в Киеве
      Вам нужна надежная бытовая техника? Ищете надежного поставщика современных мультиварок? Значит, вы попали туда куда нужно. В нашем интернет- магазине просто огромный выбор мультиварок разных моделей разных

      Израиль работа для украинцев
      В Украине все еще продолжаются нелегкие времена, хотя власть поменялась и ситуация понемногу исправляется. Но, тем не менее, многие наши соотечественники продолжают искать работу за рубежом. Ведь их

    SEO для однієї сторінки програми

    1. Як працює перенаправлення ботів?
    2. Реалізація за допомогою Phantom.js
    3. Перенаправлення ботів

    Наша команда-партнер Artmisto

    Цей підручник покаже вам, як індексувати вашу програму на пошукових системах. Як автор я вважаю, що сервери повинні бути повністю незалежними від клієнта у віці API. Що прискорює розвиток для постійно зростаючого кола клієнтів. Це на плечах пошукових систем, щоб відповідати, і вони не повинні диктувати, як веб зберігається і доступ.

    У 2009 році компанія Google випустила ідею уникли фрагментів .

    Ідея просто стверджувати, що якщо пошукова система повинна стикатися з вашою програмою JavaScript, тоді ви маєте дозвіл перенаправити пошукову систему на іншу URL-адресу, яка обслуговує повністю рендеризованную версію сторінки (поточні пошукові системи не можуть виконати багато JavaScript (деякі люди спекулюють що Google Chrome народився з Пошуку Google, який бажає успішно відтворити кожну веб-сторінку, щоб отримати вміст, розміщений на сайті))

    Як працює перенаправлення ботів?

    Використовуючи сучасні безголосні браузери, ми можемо легко повернути повністю відтворений вміст на запит, перенаправляючи роботів за допомогою конфігурації наших веб-серверів. Ось зображення, зроблене Google, яке відображає налаштування.

    Реалізація за допомогою Phantom.js

    Phantom.js - це безкрупний веб-браузер. Ми збираємося налаштувати сервер node.js, який надає URL, він повністю відобразить вміст сторінки. Потім ми перенаправляємо ботів на цей сервер, щоб отримати правильний вміст.

    Вам потрібно буде встановити node.js і phantom.js на вікно. Потім запустіть цей сервер нижче. Є два файли, один з яких є веб-сервером, а інший - phantomjs-скрипт, який відображає сторінку.

    // web.js // Express - наш веб-сервер, який може обробляти запит var express = require ('express'); var app = express (); var getContent = функція (url, callback) {var content = ''; // Тут ми породимо процес phantom.js, першим елементом масиву // є наш скрипт phantomjs, а другим - url var phantom = require ('child_process'). Spawn ('phantomjs', ['phantom- server.js ', url]); phantom.stdout.setEncoding ('utf8'); // Наш скрипт phantom.js просто реєструє вивід і // ми маємо доступ до нього через stdout phantom.stdout.on ('data', function (data) {content + = data.toString ();}); phantom.on ('exit', функція (code) {if (code! == 0) {console.log ('У нас є помилка');} else {// після завершення нашого скрипта phantom.js call back //, який виводить вміст до зворотного виклику сторінки (content);}}); }; var respond = function (req, res) {// Оскільки ми використовуємо [P] в htaccess, ми маємо доступ до цього заголовка url = 'http: //' + req.headers ['x-forwarded-host'] + req. params [0]; getContent (url, function (content) {res.send (content);}); } app.get (/(.*)/, відповідь); app.listen (3000);

    Сценарій нижче phantom-server.js і буде відповідати за повну рендеринг вмісту. Ми не повертаємо вміст, поки сторінка не буде повністю виведена. Для цього ми підключаємо слухача ресурсів.

    var page = require ('webpage'). create (); var system = require ('system'); var lastReceived = new Дата (). getTime (); var requestCount = 0; var responseCount = 0; var requestIds = []; var startTime = new Дата (). getTime (); page.onResourceReceived = function (response) {if (requestIds.indexOf (response.id)! == -1) {lastReceived = new Date (). getTime (); responseCount ++; requestIds [requestIds.indexOf (response.id)] = null; }}; page.onResourceRequested = function (request) {if (requestIds.indexOf (request.id) === -1) {requestIds.push (request.id); requestCount ++; }}; // Відкрити сторінку page.open (system.args [1], function () {}); var checkComplete = function () {// Ми не дозволяємо, щоб це зайняло більше 5 секунд, але // не повертається, поки всі запити не будуть завершені, якщо ((нова дата (). getTime () - lastReceived> 300 && requestCount === replyCount) || new Date (). getTime () - startTime> 5000) {clearInterval (checkCompleteInterval); console.log (page.content); phantom.exit (); }} // Давайте перевіримо, чи закінчена сторінка візуалізації var checkCompleteInterval = setInterval (checkComplete, 1);

    Після запуску цього сервера ми просто перенаправляємо ботів на сервер у конфігурації веб-сервера нашого клієнта.

    Перенаправлення ботів

    Якщо ви використовуєте apache, ми можемо відредагувати файл .htaccess таким чином, щоб запити Google проксірували на наш сервер phantom.js для середньої людини.

    RewriteEngine на RewriteCond% {QUERY_STRING} ^ _escaped_fragment _ = (. *) $ RewriteRule (. *) Http: // веб-сервер: 3000 /% 1? [P]

    Ми могли б також включити інші RewriteCond, такі як агент користувача для перенаправлення інших пошукових систем, на які ми хочемо індексуватись.

    Хоча Google не використовуватиме _escaped_fragment_, якщо ми не скажемо це, включаючи мета-тег; <meta name = "fragment" content = "!"> або за допомогою #! URL-адреси в наших посиланнях.

    Швидше за все, вам доведеться використовувати обидва.

    Томас Девіс

    Я працюю з кількома проектами з відкритим кодом, а також працюю в промисловості безпілотних літаків

    https://ajaxdavis.com/

    Як працює перенаправлення ботів?
    RewriteEngine на RewriteCond% {QUERY_STRING} ^ _escaped_fragment _ = (. *) $ RewriteRule (. *) Http: // веб-сервер: 3000 /% 1?

    Номера

    Номерной фонд гостиницы насчитывает 173 номера различных категорий.

    Забронировать отель можно прямо сейчас: Бронирование онлайн