Анализ SEO может занять время, но автоматизация процесса помогает устранить повторяющиеся задачи и ускорить важные оптимизации веб -сайта.

Это руководство покажет вам, как создать персональный инструмент с использованием Google Sheets, Google Search Console (GSC) и API CHATGPT для рационализации аудитов SEO и получения информации, основанной на ИИ.

С помощью этого инструмента вы можете:

  • Автоматизируйте восстановление данных GSC для более быстрого анализа.
  • Используйте ИИ, чтобы генерировать полезные рекомендации по ссылке.

План? Вы выбираете URL -адрес в поле, подключенном к GSC, введет свой клавиш API CHATGPT, проверяет страницу и запустите анализ, возглавляемый AI — All in Google Sheets.

Какой анализ SEO Automati?

После настройки этот инструмент позволит вам быстро получить доступ к данным ключей GSC, включая рейтинг ключевых слов, эталонные URL -адреса, дату последнего сайта и индексацию состояния в robots.txt.

CHATGPT улучшает процесс, анализируя и предоставляя рекомендации для:

Хотя этот сценарий не охватывает все, он предоставляет подробную информацию на страницах за несколько секунд, что позволяет вам сохранять ручное рабочее время.

Затем вы можете проконсультироваться с рекомендациями и решить, какие оптимизации реализуют.

Пример автоматизации анализа SEO с Google Sheets

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

Вам понадобится несколько вещей, чтобы начать:

Затем я проведу вас через свой процесс в восьми шагах, чтобы поместить этот «инструмент».

Шаг 1: Создайте лист Google для вашего инструмента

Если у вас есть учетная запись Google, это так же просто, как следить за этими шагами:

  • Откройте Google Drive.
  • Получите доступ к папке, где вы хотите разместить свой инструмент.
  • Справа -нажмите на на заднем плане.
  • Выбирать Google Leaves> пустая таблицаПолем

Вы можете переименовать лист на все, что вам нравится, но я выбрал следующее: GSC Custom Tool.

Персонализированный инструмент GSC - Google SheetsПерсонализированный инструмент GSC - Google Sheets

Шаг 2: Заполните свой лист

Заполните лист, тщательно выполнив эти шаги:

  • Добавьте слова «выберите свойство GSC» в A1Полем
  • Добавить слова «выберите URL», чтобы A2Полем

Идти в A15 И добавить «результаты проверки». Под этим, в порядке A15 имеет A25Добавьте следующее:

  • URL:
  • Одеяло:
  • Robots.txt:
  • Состояние индексации:
  • Последняя рампа:
  • Google Canonical:
  • Канонический пользователь:
  • Мобильная радость:
  • Богатые результаты приемлема:
  • Ссылочный URL:

В D1Вы будете наклеить свой API Chatgpt ключ. Если у вас нет этого ключа, обратитесь к ссылке выше и убедитесь, что вы получите один, чтобы заставить этот инструмент работать.

Добавить «результат анализа ИИ» в F1 И «Пригласить отправлено в Chatgpt» имеет G1Полем

Теперь мы должны объединить несколько строк в этих двух столбцах. Вы будете объединяться F2F30 И G2G30 отдельно, следуя этим шагам:

  • Выберите строки, чтобы слияние.
  • Идти в Формат> Celes Fusion> слияние вертикальноПолем

Повторите этот шаг для строк F и G, которые вы должны слиться.

Персонализированный инструмент GSC - Google Sheets - Слияние ячеекПерсонализированный инструмент GSC - Google Sheets - Слияние ячеек

Шаг 3: Создать облачный проект Google

Создать Google Cloud Console Project для инструмента.

После настройки создайте новый проект под названием «GSC Custom Tool».

Google Cloud Project - GSC персонализированный инструментGoogle Cloud Project - GSC персонализированный инструмент

Вы можете сделать это, отправившись Выберите проект> Новый проект И заполните информацию, как на скриншоте выше.

Нажимать Создавать Когда вы закончили назначить проект.

Теперь подключите консоли Google Search API к вашему проекту.

Google Cloud Project - API GSCGoogle Cloud Project - API GSC

Доступ к панели поиска и введите «Консоль поиска Google», выберите ее, затем нажмите Давать возможность На следующем экране.

Google Cloud Project - API -активация GSC APIGoogle Cloud Project - API -активация GSC API

У нас еще многое предстоит сделать и вскоре вернуться к этому проекту.

Шаг 4: Создайте сценарий приложения

Интегрируйте скрипт приложений в свой недавно созданный файл Google Sheets.

Персонализированный инструмент GSC - сценарий приложений Google SheetsПерсонализированный инструмент GSC - сценарий приложений Google Sheets

Для этого откройте свой файл, затем перейдите к Расширения> Сценарий приложений. Скопируйте и приклеите код, который я создал ниже.

ЧИТАТЬ  Google: ваш контент не обязательно должен быть нишевым, он может быть разнообразным — просто пишите для своих людей

(Вы можете сделать это, выбрав код внутри окна и нажав Ctrl + C. вернуться к сценарию вашего приложения и нажмите Ctrl + V, чтобы прикрепить код.)

Ударять ОК> Сохраните проект> Выполнить.

Google пригласит вас проконсультироваться со всеми разрешениями и выбрать соответствующую учетную запись со всеми вашими связанными данными консоли поиска Google.

Копайте глубже: 5 сценариев Python для автоматизации SEO -задач

Спросите специалистов по маркетингу в области рассылки.


Шаг 5: Добавьте доступ к доступу

Вернитесь в свою консоль Cloud Google, чтобы внести другие настройки.

Нажмите Идентификационная информация На левой стороне экрана:

Google Cloud Project - Независимость инструмента GSC Custom ToolGoogle Cloud Project - Независимость инструмента GSC Custom Tool

Нажмите + Создать идентификационную информацию В верхней части экрана и выберите OAuth Customer IdПолем

Идти в Настройте экран согласия и выберите ВнешнийПолем Создайте экран, затем введите свой:

  • Имя приложения.
  • Управление электронной почтой (связано с учетной записью GSC).
  • Разработчик координирует.

Сохраните и продолжайте на следующем экране, который говорит Добавить или удалить пособияПолем

Выбирать Google Search Console API Scopes и обновление. ТАК, Сохраните и продолжайтеПолем

Добавьте пользователей, к которым вы хотите предоставить доступ, затем нажмите Сохраните и продолжайтеПолем

Шаг 6: Зайдите в облачный проект Google для данных GSC

Нажмите на значок гамбургера и перейти к Облачная презентация> Панель панелиПолем

Вы хотите скопировать на свой Номер проектакоторый находится на странице.

Google Cloud Project - Cloud Presentation> Dashboard» Класс =»WP-Image-451318″ srcset =»https://searchengineland.com/wp-content/seloads/2025/01/google-cloud-project-cloud-overview-dashboard.png.webp 835w, https: //searchengineland.com/wp-content/seloads/ 2025 /01/google-cloud-project-cloud-verview-dashboard-600×244.png.webp 600w, https: //searchengineland.com/wp-content/seloads/2025/01/google-cloud-project-cloud-overview -Dashboard-800×326.png.webp 800W, https: //searchengineland.com/wp-content/seloads/2025/01/google-cloud-project-cloud-overview-dashboard-200×81.png.webp 200w, https:/ /Searchengineland.com/wp-content/seloads/2025/01/google-cloud-project-cloud-overview-dashboard-768×313.png.webp 768w» Data-Lazy-Sizes =»(Максимальная ширина: 835px) 100VW, 835px» src =»https://searchengineland.com/wp-content/seloads/2025/01/google-cloud-project-cloud-overview-dashboard.png.webp»/><img loading=Шаг 7: Назовите свой скрипт приложений Google

Добавьте имя для вашего сценария, чтобы сохранить организованные вещи.

Чтобы сделать это, иди История проектаНажмите на Единица В верхней части экрана и введите «персонализированный инструмент GSC».

Назовите сценарий ваших приложенийНазовите сценарий ваших приложений

Шаг 8: Измените файл манифеста

Теперь вы вернетесь к своему Параметры проекта и нажмите Показать «Appsscript.json» в редакторе.

Внутри издателя перейдите на appsscript.json и замените все в файле на код ниже:

{
  "timeZone": "America/New_York",
  "dependencies": {},
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": [
    "
    "
    "
    "
    "
  ],
  "runtimeVersion": "V8"
}

Как только вы все приклеиваете, вы перейдете в файл code.js и приклеить этот код:

// Store the OAuth token and logs in script properties
const scriptProperties = PropertiesService.getScriptProperties();
const OPENAI_URL = "
const SYSTEM_MESSAGE = { role: "system", content: "You are a helpful SEO expert." };


function log(message) {
  Logger.log(message); // Regular Apps Script logging
  const logs = scriptProperties.getProperty('customLogs') || '';
  scriptProperties.setProperty('customLogs', logs + '\n' + message); // Append message to logs
}


function resetLogs() {
  scriptProperties.deleteProperty('customLogs'); // Clear logs for a new execution
}


function getLogs() {
  return scriptProperties.getProperty('customLogs') || 'No logs available.';
}


function fetchOAuthToken() {
  let token = scriptProperties.getProperty('oauthToken');
  if (!token) {
    token = ScriptApp.getOAuthToken();
    scriptProperties.setProperty('oauthToken', token);
    log('OAuth token fetched and stored.');
  }
  return token;
}


function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('Search Console')
    .addItem('Authorize GSC', 'promptReauthorization')
    .addItem('Fetch GSC Properties', 'fetchGSCProperties')
    .addItem('Inspect URL', 'inspectUrl') // Add the Inspect URL button
    .addItem('AI Analyze', 'aiAnalyze') // Add the AI Analyze button
    .addToUi();
}


function promptReauthorization() {
  const ui = SpreadsheetApp.getUi();
  const response = ui.alert(
    'Re-authorize Script',
    'Re-authorizing will revoke current permissions and require you to authorize again. Do you want to continue?',
    ui.ButtonSet.YES_NO
  );


  if (response === ui.Button.YES) {
    try {
      scriptProperties.deleteProperty('oauthToken'); // Clear old token
      const token = fetchOAuthToken(); // Fetch and store new token
      log("OAuth Token: " + token);
      ui.alert('Authorization successful. No further action is required.');
    } catch (e) {
      ui.alert('Authorization failed: ' + e.toString());
    }
  } else {
    ui.alert('Re-authorization canceled.');
  }
}


function fetchGSCProperties() {
  resetLogs();
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const oauthToken = fetchOAuthToken();


  const sites = getSitesListFromGSC(oauthToken);


  if (!sites || sites.length === 0) {
    SpreadsheetApp.getUi().alert('No GSC properties found. Please ensure you have access to GSC properties.');
    return;
  }


  const siteUrls = ['Select a property'].concat(
    sites.map(site => site.siteUrl).sort()
  );


  sheet.getRange('A1').setValue('Select GSC property').setFontWeight('bold');
  sheet.getRange('B1').setDataValidation(
    SpreadsheetApp.newDataValidation()
      .requireValueInList(siteUrls, true)
      .build()
  );
  sheet.getRange('B1').setValue('Select a property').setFontWeight('bold');
  sheet.setColumnWidth(1, 150);
  sheet.setColumnWidth(2, 350);
}


let isProcessing = false; // Global flag to prevent recursive triggering


function onEdit(e) {
  if (isProcessing) return; // Prevent re-entry during execution
  isProcessing = true; // Set flag to true


  try {
    resetLogs();
    const sheet = e.source.getActiveSheet();
    const range = e.range;


    // Always clear A3:D30 on edits to B1 or B2
    if (range.getA1Notation() === 'B1' || range.getA1Notation() === 'B2') {
      sheet.getRange('A3:D30').clearContent();
      sheet.getRange('F1:G30').clearContent();


      if (range.getA1Notation() === 'B1') {
        const selectedProperty = range.getValue();


        // Clear A2 and set loading state
        sheet.getRange('A2').setValue('Loading results...').setFontWeight('bold');
        sheet.getRange('B2').clearContent();


        if (selectedProperty === 'Select a property') {
          sheet.getRange('A2').clearContent();
          sheet.getRange('B2').clearContent();
          return;
        }


        const oauthToken = fetchOAuthToken();
        const urls = getUrlsForProperty(selectedProperty, oauthToken);


        if (!urls || urls.length === 0) {
          sheet.getRange('A2').setValue('No URLs found').setFontWeight('bold');
          sheet.getRange('B2').clearContent();
          log(`No URLs found for property ${selectedProperty}`);
          return;
        }


        sheet.getRange('A2').setValue('Select a URL').setFontWeight('bold');
        sheet.getRange('B2').setDataValidation(
          SpreadsheetApp.newDataValidation()
            .requireValueInList(['Select a URL'].concat(urls), true)
            .build()
        );
        sheet.getRange('B2').setValue('Select a URL').setFontWeight('bold');
      }


      if (range.getA1Notation() === 'B2') {
        const selectedProperty = sheet.getRange('B1').getValue();
        const selectedUrl = range.getValue();


        if (selectedUrl === 'Select a URL') {
          return;
        }


        sheet.getRange('A3').setValue('Loading keywords...').setFontWeight('bold');


        const oauthToken = fetchOAuthToken();
        const keywords = getTopKeywordsForUrl(selectedProperty, selectedUrl, oauthToken);


        if (!keywords || keywords.length === 0) {
          sheet.getRange('A3').setValue('No keywords found').setFontWeight('bold');
          log(`No keywords found for URL ${selectedUrl}`);
          return;
        }


        // Populate keywords and metrics
        sheet.getRange('A3:D12').clearContent(); // Clear any loading message
        keywords.forEach((keyword, index) => {
          if (index  row.keys[0]) : [];
    } else {
      throw new Error(`Failed to fetch data: ${response.getResponseCode()} - ${response.getContentText()}`);
    }
  } catch (e) {
    log(`Error: ${e.toString()}`);
    return [];
  }
}


function getTopKeywordsForUrl(property, url, oauthToken) {
  try {
    const apiUrl = `


    log(`API URL: ${apiUrl}`);
    log(`OAuth Token: ${oauthToken}`);


    const payload = {
      startDate: getThreeMonthsAgo(),
      endDate: getToday(),
      dimensions: ["query"],
      dimensionFilterGroups: [
        {
          filters: [
            {
              dimension: "page",
              operator: "equals",
              expression: url
            }
          ]
        }
      ],
      rowLimit: 10,
      orderBy: [{ fieldName: "clicks", sortOrder: "DESCENDING" }]
    };


    log(`Payload: ${JSON.stringify(payload)}`);


    const headers = {
      Authorization: `Bearer ${oauthToken}`,
      "Content-Type": "application/json"
    };


    const options = {
      method: "post",
      contentType: "application/json",
      headers: headers,
      payload: JSON.stringify(payload),
      muteHttpExceptions: true
    };


    const response = UrlFetchApp.fetch(apiUrl, options);
    log(`Response Code: ${response.getResponseCode()}`);
    log(`Response: ${response.getContentText()}`);


    if (response.getResponseCode() === 200) {
      const json = JSON.parse(response.getContentText());
      return json.rows ? json.rows.map(row => ({
        query: row.keys[0],
        clicks: row.clicks,
        impressions: row.impressions,
        ctr: row.ctr
      })) : [];
    } else {
      throw new Error(`Failed to fetch data: ${response.getResponseCode()} - ${response.getContentText()}`);
    }
  } catch (e) {
    log(`Error: ${e.toString()}`);
    return [];
  }
}


function getToday() {
  const today = new Date();
  return today.toISOString().split("T")[0];
}


function getThreeMonthsAgo() {
  const date = new Date();
  date.setMonth(date.getMonth() - 3);
  return date.toISOString().split("T")[0];
}


function inspectUrl() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const url = sheet.getRange('B2').getValue();
  const property = sheet.getRange('B1').getValue();


  // Clear previous inspection results in A15:D30
  sheet.getRange('A15:D30').clearContent();
  sheet.getRange('A15').setValue('Inspecting...').setFontWeight('bold');


  if (!url || url === 'Select a URL') {
    SpreadsheetApp.getUi().alert('Please select a valid URL in cell B2 before inspecting.');
    sheet.getRange('A15').setValue('No URL selected').setFontWeight('bold');
    return;
  }


  const oauthToken = fetchOAuthToken();


  try {
    const result = callUrlInspectionApi(property, url, oauthToken);


    // Extract fields from the response
    const indexStatus = result.indexStatusResult || {};
    const mobileUsability = result.mobileUsabilityResult || {};
    const richResults = result.richResultsInfo || {};
    const referringUrls = indexStatus.referringUrls?.join(', ') || 'None';


    // Populate inspection results in the sheet
    sheet.getRange('A15').setValue(`Inspection Results`).setFontWeight('bold');
    sheet.getRange('A16').setValue(`URL:`).setFontWeight('bold');
    sheet.getRange('B16').setValue(url);


    sheet.getRange('A17').setValue(`Coverage:`).setFontWeight('bold');
    sheet.getRange('B17').setValue(indexStatus.coverageState || 'Unknown');


    sheet.getRange('A18').setValue(`Robots.txt:`).setFontWeight('bold');
    sheet.getRange('B18').setValue(indexStatus.robotsTxtState || 'Unknown');


    sheet.getRange('A19').setValue(`Indexing State:`).setFontWeight('bold');
    sheet.getRange('B19').setValue(indexStatus.indexingState || 'Unknown');


    sheet.getRange('A20').setValue(`Last Crawled:`).setFontWeight('bold');
    sheet.getRange('B20').setValue(indexStatus.lastCrawlTime || 'Not Available');


    sheet.getRange('A21').setValue(`Google Canonical:`).setFontWeight('bold');
    sheet.getRange('B21').setValue(indexStatus.googleCanonical || 'Unknown');


    sheet.getRange('A22').setValue(`User Canonical:`).setFontWeight('bold');
    sheet.getRange('B22').setValue(indexStatus.userCanonical || 'Unknown');


    sheet.getRange('A23').setValue(`Mobile Usability:`).setFontWeight('bold');
    sheet.getRange('B23').setValue(mobileUsability.verdict || 'Unknown');


    sheet.getRange('A24').setValue(`Rich Results Eligibility:`).setFontWeight('bold');
    sheet.getRange('B24').setValue(richResults.verdict || 'Unknown');


    sheet.getRange('A25').setValue(`Referring URLs:`).setFontWeight('bold');
    sheet.getRange('B25').setValue(referringUrls);


    // Log and alert full response for debugging
    const fullResponse = JSON.stringify(result, null, 2);
    log(`Full Inspection Result: ${fullResponse}`);
    //SpreadsheetApp.getUi().alert(`Inspection Completed. Full Response:\n\n${fullResponse}`);
  } catch (error) {
    sheet.getRange('A15').setValue('Inspection Failed').setFontWeight('bold');
    log(`Error inspecting URL: ${error.message}`);
    SpreadsheetApp.getUi().alert(`Error inspecting URL: ${error.message}\n\nLogs:\n${getLogs()}`);
  }
}


function callUrlInspectionApi(property, url, oauthToken) {
  const apiUrl="


  const payload = {
    siteUrl: property,
    inspectionUrl: url,
    languageCode: 'en-US'
  };


  const headers = {
    Authorization: `Bearer ${oauthToken}`,
    'Content-Type': 'application/json'
  };


  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: headers,
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };


  log(`API URL: ${apiUrl}`);
  log(`Payload: ${JSON.stringify(payload)}`);


  try {
    const response = UrlFetchApp.fetch(apiUrl, options);
    const responseCode = response.getResponseCode();
    const responseText = response.getContentText();


    log(`Response Code: ${responseCode}`);
    log(`Response Content: ${responseText}`);


    if (responseCode === 200) {
      const jsonResponse = JSON.parse(responseText);


      if (jsonResponse && jsonResponse.inspectionResult) {
        return jsonResponse.inspectionResult;
      } else {
        log(`Unexpected API Response Structure: ${responseText}`);
        throw new Error('Unexpected API response format. "inspectionResult" field is missing.');
      }
    } else {
      log(`Failed API Call: ${responseText}`);
      throw new Error(`Failed to inspect URL. Response Code: ${responseCode}. Response: ${responseText}`);
    }
  } catch (error) {
    log(`Error during API call: ${error}`);
    throw new Error(`Error inspecting URL: ${error.message}`);
  }
}


function callChatGPT(prompt, temperature = 0.9, maxTokens = 800, model = "gpt-3.5-turbo") {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const secretKey = sheet.getRange('D1').getValue().trim(); // Retrieve the OpenAI API key from D1


  if (!secretKey) {
    throw new Error("API Key is missing in cell D1. Please provide a valid OpenAI API key.");
  }


  const payload = {
    model: model,
    messages: [
      SYSTEM_MESSAGE,
      { role: "user", content: prompt }
    ],
    temperature: temperature,
    max_tokens: maxTokens
  };


  const options = {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + secretKey
    },
    payload: JSON.stringify(payload)
  };


  try {
    const response = UrlFetchApp.fetch(OPENAI_URL, options);
    const responseData = JSON.parse(response.getContentText());


    if (responseData.choices && responseData.choices[0] && responseData.choices[0].message) {
      return responseData.choices[0].message.content.trim();
    } else {
      log("Unexpected response format from OpenAI: " + JSON.stringify(responseData));
      return "Sorry, I couldn't process the request.";
    }
  } catch (error) {
    log("Error calling OpenAI API: " + error);
    return "Sorry, there was an error processing your request.";
  }
}


function aiAnalyze() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const url = sheet.getRange('B2').getValue();
  const keywords = sheet.getRange('A3:A12').getValues().flat().filter(Boolean); // Get non-empty keywords
  const inspectionData = sheet.getRange('A16:B20').getValues();


  // Validate input fields
  if (!url || keywords.length === 0 || inspectionData.some(row => row.length  `${row[0]}: ${row[1]}`).join("\n")}
    Suggest a short list of specific recommendations on how I can improve the page's SEO. Make sure the recommendations include details such as change this to that, or add something, etc... Be concrete with SEO recommendations.
  `;


  // Display the prompt in G1
  sheet.getRange('G1').setValue("Prompt Sent to ChatGPT").setFontWeight("bold");
  sheet.getRange('G2:G30').clearContent(); // Clear previous content in column G
  sheet.getRange('G2:G30').merge(); // Merge cells G2:G30
  sheet.getRange('G2').setValue(prompt).setVerticalAlignment("top"); // Add the prompt and align to top
  sheet.setColumnWidth(7, 400); // Set column G width to 400px


  // Call ChatGPT API
  const analysisResult = callChatGPT(prompt);


  // Display the result in the spreadsheet (Column F)
  sheet.getRange('F1').setValue("AI Analysis Result").setFontWeight("bold");
  sheet.getRange('F2:F30').clearContent(); // Clear previous content
  sheet.getRange('F2:F30').merge(); // Merge the cells
  sheet.getRange('F2').setValue(analysisResult).setVerticalAlignment("top"); // Add the AI result and align to top
  sheet.setColumnWidth(6, 400); // Set column F width to 400px


  // Log the response
  log("AI Analysis Completed: " + analysisResult);
}

После завершения вернитесь к своим простыням, обновите и используйте новый Консоль исследования> Свойства восстановления GSCПолем

ЧИТАТЬ  Добавление контекста к проблемам со структурированными данными в Search Console | Центральный блог поиска Google | Разработчики Google

Следуйте подсказкам, пока вы не попросите вас выбрать используемую учетную запись, и, наконец, выберите приложение, которое вы планируете использовать.

Если все идет хорошо, вы можете перейти к захватывающей части, чтобы собрать ее вместе и запустить свой первый анализ SEO, используя ваш новый сценарий.

Поместите наш лист простыней, GSC и CHATGPT

Вы сделали многое многое, но пришло время увидеть инструмент в действии. Вот как это работает:

Поместите наш лист простыней, GSC и CHATGPTПоместите наш лист простыней, GSC и CHATGPT
  • Идти в Исследовательская консоль> Авторизировать GSC.

Убедитесь, что вы используете учетную запись, на которой подключен домен GSC; В противном случае это не сработает.

  • Идти в Исследовательская консоль> Резюме GSC Properties.

Теперь вы заметите, что Выберите свойство GSC имеет B1 На листе заполнен. Выберите домен, который вы хотите проанализировать, затем выберите URL B1 На листе.

  • Идти в Исследовательская консоль> Проверьте URL.

А Результаты проверки на листе заполнят и предложат вам множество информации на странице, такую ​​как покрытие, последняя дата разведки и т. Д.

Наконец, мы вернемся в последний раз и сделаем следующее:

  • Идти в Исследовательская консоль> Анализ.

Вся информация о «результате анализа ИИ» теперь будет выполнена, предлагая вам информацию о ключевых элементах страницы и указав точные шаги, которые вы можете предпринять для улучшения страницы.

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

Если вы хотите изменить подсказку CHATGPT, чтобы добавить свои индивидуальные данные, получите доступ к ячейке G2,, Прямо под разделом, который указывает «Приглашение, отправленное в Чэтгпт».

Отличная работа! У вас есть рабочий сценарий, который может ускорить ваш анализ SEO и сделать ваш день более полезным.

ЧИТАТЬ  Секреты эффективной рекламы: как паук может увеличить конверсию ваших баннеров

Комбинация листьев, GSC и CHATGPT помогли мне стать более эффективным и позволить мне тратить больше времени на оптимизацию и анализировать менее тысячи страниц.

Опыт со сценарием и найдите новые способы сделать себя.

Вы глубже: 15 инструментов ИИ, которые вы должны использовать для SEO

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

Source