Skip to content
EN
← Все статьи

Гугл таблицы: как создать, дать доступ и проверять сайты

Ноутбук с таблицей: список адресов сайтов и столбцы статусов, окрашенные зелёным и красным

Гугл таблицы (Google Sheets) — бесплатный онлайн-редактор таблиц от Google: он открывается в браузере по адресу sheets.google.com, хранит файлы в Google Диске и позволяет работать над одной таблицей вместе с коллегами. Кроме обычных формул в нём есть функции IMPORTXML, IMPORTHTML и IMPORTDATA, которые забирают данные прямо с сайтов, поэтому таблица годится и для проверки сайтов.

Ниже — коротко об основах (как создать таблицу, открыть доступ по ссылке, чем она отличается от Excel), а затем главное для вебмастера: как вытащить title, h1 и description со списка страниц и как следить за кодами ответа и сроками SSL-сертификатов прямо в таблице, не устанавливая ничего на сервер.

Что такое Google Таблицы и как они работают

Google Таблицы — часть пакета редакторов Google (Документы, Таблицы, Презентации). Файл живёт не на вашем диске, а в Google Диске, поэтому его не нужно пересылать: вы отправляете ссылку, и все видят одну и ту же актуальную версию. Изменения сохраняются автоматически, история правок доступна в меню Файл → История версий. Для работы нужен аккаунт Google — тот же, что для Gmail.

Вход в Google Таблицы — через страницу sheets.google.com или из Google Диска: после авторизации вы попадаете в список своих таблиц, где видны и файлы, которыми с вами поделились. Отдельного «личного кабинета» у сервиса нет — это и есть ваш аккаунт Google. На телефоне то же самое делает приложение «Google Таблицы».

С точки зрения вебмастера важно одно отличие от настольного редактора: формулы в Google Таблицах выполняются на серверах Google. Когда вы пишете функцию, которая загружает страницу, запрос к сайту отправляет не ваш компьютер, а инфраструктура Google. Из этого следуют и возможности (таблица сама обновляет данные, пока она открыта), и ограничения, о которых пойдёт речь ниже.

Как создать гугл таблицу

  1. Самый быстрый способ — набрать в адресной строке браузера sheets.new: сразу откроется новая пустая таблица.
  2. Через Google Диск: кнопка Создать → Google Таблицы. Файл появится в текущей папке Диска.
  3. Со страницы sheets.google.com: блок «Создать таблицу» с пустым файлом и шаблонами.
  4. Из Excel: загрузите файл .xlsx в Google Диск и откройте его в Таблицах, либо в открытой таблице выберите Файл → Импортировать.

Название по умолчанию — «Новая таблица»; поменяйте его сразу, кликнув по заголовку слева вверху, иначе через месяц в Диске будет десяток одинаковых файлов.

Как создать гугл таблицу с общим доступом по ссылке

Доступ настраивается кнопкой Настройки доступа в правом верхнем углу таблицы. Там есть два независимых механизма:

  • Конкретные люди. Вводите адреса почты и выбираете роль: читатель, комментатор или редактор. Это самый безопасный вариант — доступ получают только названные аккаунты.
  • Общий доступ по ссылке. В блоке «Общий доступ» переключите «Доступ ограничен» на «Все, у кого есть ссылка» и выберите роль. Нажмите «Копировать ссылку» и отправьте её.

Практическое правило: по ссылке давайте права читателя, а права редактора — только конкретным людям. Ссылка пересылается дальше, попадает в чаты и индексируемые страницы, а у редактора по ссылке есть доступ ко всему, включая скрипты таблицы (это станет важно, когда в скрипте появится API-ключ).

Гугл таблицы и Эксель: в чём разница

По формулам и форматированию редакторы близки, и большинство файлов переносится между ними без потерь. Различия — в том, где работает программа, как устроена совместная работа и как таблица получает данные из интернета.

Что сравниваемGoogle ТаблицыMicrosoft Excel
Где работаетВ браузере и мобильном приложении, файл хранится в Google ДискеНастольное приложение; есть веб-версия Excel с файлами в OneDrive
Совместная работаВстроена: несколько человек правят одновременно, правки видны сразуСовместное редактирование работает для файлов в OneDrive или SharePoint
Загрузка данных с сайтовФункции IMPORTXML, IMPORTHTML, IMPORTDATA, IMPORTFEED прямо в ячейкеPower Query (источник «Из Интернета»), функция WEBSERVICE
Кто делает запрос к сайтуСерверы GoogleВаш компьютер
АвтоматизацияApps Script (JavaScript), триггеры по расписаниюVBA, Office Scripts
Обмен файламиЭкспорт: Файл → Скачать → Microsoft Excel (.xlsx), CSV, PDFРодной формат .xlsx

Для задач вебмастера решающая строка — «Кто делает запрос к сайту». Excel ходит в интернет с вашего IP и видит сайт так, как видите его вы. Google Таблицы ходят с адресов Google: сайт с геоблокировкой или защитой от ботов может отдать им другую страницу или ошибку, а внешние API считают все эти запросы как пришедшие от Google.

Google Таблицы для вебмастера: какие функции тянут данные с сайтов

Четыре функции импорта закрывают большую часть рутинных задач. Все они описаны в справке Google: IMPORTXML, IMPORTHTML, IMPORTDATA.

ФункцияЧто забираетТипичная задача
IMPORTXML(ссылка; xpath)Любой элемент HTML или XML по запросу XPathtitle, h1, meta description, canonical, ссылки из sitemap.xml
IMPORTHTML(ссылка; "table"; N)N-ю таблицу или список ("list") со страницыЗабрать таблицу тарифов конкурента или список из статьи
IMPORTDATA(ссылка)Файл CSV или TSV по ссылкеВыгрузки, отчёты, ответы API в формате CSV
IMPORTFEED(ссылка)RSS или AtomСледить за новыми публикациями

По справке Google, функции IMPORTHTML, IMPORTFEED, IMPORTDATA и IMPORTXML пересчитываются раз в час, IMPORTRANGE — каждые 30 минут. Для мониторинга «прямо сейчас» это медленно, для ежедневного контроля — достаточно.

Замечание о синтаксисе: в таблице с русскими региональными настройками аргументы разделяются точкой с запятой, а десятичный разделитель — запятая. Поэтому в примерах ниже стоит ;. Если у таблицы английские региональные настройки (Файл → Настройки), пишите запятые. Названия функций по умолчанию английские — в настройках таблицы включён флажок «Всегда использовать названия функций на английском языке».

IMPORTXML в Google Таблицах: title, h1 и description со списка страниц

Положите адреса страниц в колонку A (обязательно с https://), а в соседние колонки — формулы. Для строки 2 они выглядят так:

Title:        =IMPORTXML(A2; "/html/head/title")
Длина title:  =LEN(B2)
H1:           =TEXTJOIN(" | "; TRUE; IMPORTXML(A2; "//h1"))
Description:  =IMPORTXML(A2; "//meta[@name='description']/@content")
Canonical:    =IMPORTXML(A2; "//link[@rel='canonical']/@href")
Robots:       =IMPORTXML(A2; "//meta[@name='robots']/@content")

Несколько деталей, на которых спотыкаются чаще всего:

  • Почему /html/head/title, а не //title. Запрос //title находит и элементы <title> внутри встроенных SVG-иконок. Результат «растекается» на несколько ячеек вниз и затирает соседние строки или даёт ошибку #REF!. Путь от корня берёт только заголовок документа.
  • Несколько h1. Если на странице два h1, IMPORTXML вернёт два значения. TEXTJOIN склеивает их в одну ячейку — сразу видно и дубль, и пустой h1.
  • Регистр атрибутов. XPath чувствителен к регистру: @name='description' не найдёт name="Description". Пустая ячейка там, где description точно есть, — повод открыть исходный код страницы.
  • Контент, который дорисовывает JavaScript. IMPORTXML читает HTML в том виде, в котором его отдал сервер, скрипты не выполняются. Если title или h1 ставит JavaScript, в таблице будет пусто или шаблонное значение. Это заодно честный тест: примерно так же страницу видит простой краулер.
  • Картинки без alt. =COUNTA(IMPORTXML(A2; "//img[not(@alt)]/@src")) считает изображения без атрибута alt. Пустой alt="" у декоративной картинки — не ошибка, поэтому этот запрос его не ловит.

Длину title удобно подсветить: Формат → Условное форматирование, правило «Ваша формула» с условием вида =$C2>70. Что писать в этих тегах и почему длина важна, разобрано в статье о title и description.

Как вытащить все URL из sitemap.xml

IMPORTXML читает и XML. Но в sitemap.xml объявлено пространство имён по умолчанию, и простой запрос //loc ничего не находит. Помогает функция local-name():

=IMPORTXML("https://example.com/sitemap.xml"; "//*[local-name()='loc']")

Получится колонка адресов, по которой можно сразу запустить формулы из предыдущего блока. Если sitemap — это индекс из нескольких файлов, первая формула вернёт адреса вложенных sitemap; для каждого из них формулу нужно повторить.

Типичные ошибки IMPORTXML

  • #N/A с сообщением «Could not fetch url» / «Не удалось получить данные». Сайт не ответил серверам Google, ответил ошибкой или показал проверку на бота. Сравните с тем, что видит обычный запрос: проверка HTTP-заголовков покажет код ответа и цепочку редиректов.
  • «Imported content is empty» / пустой результат. Запрос XPath ничего не нашёл: элемента нет в исходном HTML, опечатка в пути или разный регистр атрибутов.
  • #REF! «Array result was not expanded». Функция вернула несколько значений, а ячейки ниже заняты. Освободите место или оберните формулу в TEXTJOIN или INDEX(...; 1).
  • Бесконечное «Loading...». В таблице слишком много функций импорта одновременно. Делите список на части и не держите сотни IMPORTXML на одном листе.

Мониторинг сайтов в гугл таблице через открытый API enterno

IMPORTXML отвечает на вопрос «что написано на странице». Для вопросов «жив ли сайт», «какой код ответа», «сколько дней до конца сертификата» удобнее готовый ответ в CSV. У enterno для этого есть открытый API без ключа:

https://enterno.io/api/open/<инструмент>?q=<домен>&format=csv

Ответ — CSV из двух колонок: key и value. Такой формат IMPORTDATA понимает сразу. Без ключа доступны, в частности, http-status, headers, ssl, dns, whois, mx, redirects, robots. Полный список отдаёт сам адрес https://enterno.io/api/open/.

Код ответа сайта: IMPORTDATA + http-status

Вставьте в пустую ячейку:

=IMPORTDATA("https://enterno.io/api/open/http-status?q=example.com&format=csv")

Таблица развернёт ответ в две колонки примерно такого вида:

key,value
url,https://example.com
code,200
message,OK
final_url,https://example.com/
redirect_count,0
response_time_ms,82
server,cloudflare
content_type,text/html

Здесь code — HTTP-код, final_url — адрес после всех редиректов, redirect_count — сколько было переадресаций, response_time_ms — время ответа. Что означает каждый код, собрано в справочнике кодов состояния HTTP.

Как достать одно значение: VLOOKUP по колонке key

Для таблицы со списком доменов нужна не вся выгрузка, а одно поле в строке. Домен лежит в A2, формулы — в соседних колонках:

Код ответа:          =VLOOKUP("code"; IMPORTDATA("https://enterno.io/api/open/http-status?q="&A2&"&format=csv"); 2; FALSE)
Дней до конца SSL:   =VLOOKUP("certificate.days_left"; IMPORTDATA("https://enterno.io/api/open/ssl?q="&A2&"&format=csv"); 2; FALSE)
Статус сертификата:  =VLOOKUP("certificate.status"; IMPORTDATA("https://enterno.io/api/open/ssl?q="&A2&"&format=csv"); 2; FALSE)
Действует до:        =VLOOKUP("certificate.valid_to"; IMPORTDATA("https://enterno.io/api/open/ssl?q="&A2&"&format=csv"); 2; FALSE)

Тот же результат даёт FILTER по колонке key, но VLOOKUP короче. Дальше — условное форматирование: правило «Ваша формула» =$C2<14 подсветит красным сертификаты, которым осталось меньше двух недель, а =$B2<>200 — сайты, которые отвечают не кодом 200. Дату из certificate.valid_to таблица обычно распознаёт как дату, и по ней можно сортировать.

Почему срок сертификата стоит держать перед глазами и что делать, когда он подходит к концу, — в статье как проверить SSL-сертификат.

Ограничения: лимит на IP и ошибка 429

У открытого API лимит считается на IP-адрес: 20 запросов в минуту для http-status, 30 для ssl, 10 для whois. IMPORTDATA обращается к API не с вашего адреса, а с серверов Google, и эти адреса общие для множества таблиц. Поэтому на листе с десятками строк часть формул получит ответ 429 (Too Many Requests) и покажет #N/A — даже если лично вы сделали всего несколько запросов.

Отсюда правила:

  • Каждая формула — это отдельный запрос. Три колонки с IMPORTDATA на двадцать доменов — это шестьдесят запросов при каждом пересчёте.
  • IMPORTDATA через формулы хорош для небольшого списка: своих сайтов, пары клиентских проектов.
  • Для десятков доменов переходите на Apps Script с паузами между запросами или на ключ API.

Когда формул мало: проверка сайтов через Apps Script

Apps Script — встроенный в Google Таблицы JavaScript. Он открывается через Расширения → Apps Script. В отличие от формул, скрипт сам решает, в каком темпе делать запросы, пишет результат в ячейки и запускается по расписанию. Сетевые запросы делает UrlFetchApp, разбор CSV — Utilities.parseCsv из класса Utilities.

Скрипт ниже проходит по колонке A и пишет в колонку B число дней до конца сертификата:

// Лист: в колонке A с 2-й строки — домены, в колонку B пишем дни до конца сертификата
function checkSsl() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const last = sheet.getLastRow();
  if (last < 2) return;
  const domains = sheet.getRange(2, 1, last - 1, 1).getValues();

  domains.forEach(function (row, i) {
    const domain = String(row[0]).trim();
    if (!domain) return;
    const url = 'https://enterno.io/api/open/ssl?q=' +
      encodeURIComponent(domain) + '&format=csv';
    const resp = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
    const cell = sheet.getRange(i + 2, 2);

    if (resp.getResponseCode() !== 200) {
      cell.setValue('HTTP ' + resp.getResponseCode());   // 429 — упёрлись в лимит
    } else {
      const rows = Utilities.parseCsv(resp.getContentText());
      const hit = rows.find(function (r) { return r[0] === 'certificate.days_left'; });
      cell.setValue(hit ? Number(hit[1]) : 'нет данных');
    }
    Utilities.sleep(2500); // пауза, чтобы не выбирать лимит одной пачкой
  });
}

// Один раз запустите вручную — дальше проверка пойдёт по расписанию
function installTrigger() {
  ScriptApp.newTrigger('checkSsl').timeBased().everyHours(6).create();
}

При первом запуске Google попросит разрешение на доступ к таблице и внешним адресам — это нормально для UrlFetchApp. Функцию installTrigger запустите один раз вручную, и проверка будет выполняться каждые шесть часов. Учтите, что UrlFetchApp тоже ходит с адресов Google, поэтому пауза между запросами обязательна. У скриптов есть свои квоты на время выполнения и число запросов в сутки — они перечислены в документации Apps Script.

Десятки доменов: API-ключ и /api/v4

Когда доменов десятки, запросы стоит привязать к своему аккаунту, а не к общим адресам Google: скрипт обращается к /api/v4 с вашим API-ключом в заголовке X-API-Key. Адрес и параметры нужного эндпоинта возьмите из документации API, а ключ храните в свойствах скрипта (Настройки проекта → Свойства скрипта), а не в ячейке:

const key = PropertiesService.getScriptProperties().getProperty('ENTERNO_API_KEY');
const resp = UrlFetchApp.fetch(v4Url, {
  headers: { 'X-API-Key': key },
  muteHttpExceptions: true
});

Помните о правах: всякий, у кого есть права редактора таблицы, может открыть привязанный к ней скрипт и его свойства. Не давайте права редактора по ссылке таблице, в которой лежит ключ.

Если же нужны не отчёты раз в несколько часов, а тревога в ту минуту, когда сайт упал, таблица — неподходящий инструмент. Для этого есть мониторинг с уведомлениями; условия — на странице тарифов.

Как проверить результат из таблицы вручную

Любую подозрительную строку стоит перепроверить не формулой, а напрямую — так видно подробности, которые в ячейку не помещаются:

Если сайт не открывается вовсе, пройдите по шагам из статьи как проверить, работает ли сайт. А если таблица стала тесной и хочется писать проверки кодом, логичное продолжение — проверки сайтов на Python.

Частые вопросы

Google Таблицы бесплатные?

Да, для личного аккаунта Google Таблицы бесплатны. Файлы занимают место в общем хранилище аккаунта вместе с Gmail и Диском. Платные тарифы Google Workspace нужны организациям — для своего домена в почте, администрирования и расширенных квот.

Можно ли открыть гугл таблицу без аккаунта Google?

Просматривать — да, если владелец включил «Все, у кого есть ссылка». Редактировать без входа в аккаунт нельзя. Создать свою таблицу тоже можно только с аккаунтом.

Почему IMPORTXML возвращает #N/A на странице, которая открывается в браузере?

Запрос делает не ваш браузер, а серверы Google. Сайт может блокировать их как ботов, показывать им страницу проверки или отвечать по-другому из-за геоограничений. Ещё одна причина — нужный элемент добавляется JavaScript, а IMPORTXML его не выполняет.

Как часто обновляются данные из IMPORTDATA и IMPORTXML?

По справке Google — раз в час, пока таблица открыта. Если данные нужны прямо сейчас, пересоздайте формулу (например, вырежьте и вставьте её обратно) или используйте Apps Script, который запускается по кнопке или триггеру.

Почему в таблице с доменами часть строк показывает ошибку 429?

Лимит открытого API считается на IP-адрес, а IMPORTDATA обращается к нему с общих адресов Google. Когда формул много, лимит исчерпывается. Сократите число формул, перенесите проверку в Apps Script с паузами или используйте API-ключ.

Можно ли сохранить гугл таблицу в Excel?

Да: Файл → Скачать → Microsoft Excel (.xlsx). Функции IMPORTXML и IMPORTDATA в Excel не работают, поэтому в скачанном файле останутся последние загруженные значения или ошибки в этих ячейках.

Проверьте ваш сайт прямо сейчас

Проверить свой домен →
Другие статьи: Инструменты
Инструменты
Массовая проверка URL: автоматизация мониторинга сайтов
11.03.2026 · 688 просм.
Инструменты
Как дать Claude и Cursor инструменты диагностики сайта
15.06.2026 · 616 просм.
Инструменты
Что такое MCP-сервер и зачем он нужен
15.06.2026 · 430 просм.
Инструменты
Конструкторы сайтов 2026: рейтинг и как потом переехать
21.07.2026 · 226 просм.