Pagespeedapi: runpagespeed

Executa a análise do PageSpeed na página no URL especificado e retorna as pontuações do PageSpeed, uma lista de sugestões para tornar essa página mais rápida e outras informações. Faça o teste agora.

Solicitação

Solicitação HTTP

GET https://www.googleapis.com/pagespeedonline/v4/runPagespeed

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de consulta obrigatórios
url string O URL a ser buscado e analisado
Parâmetros de consulta opcionais
filter_third_party_resources boolean Indica se os recursos de terceiros precisam ser filtrados antes da análise do PageSpeed. Padrão: false.
locale string A localidade usada para localizar resultados formatados
rule string Uma regra do PageSpeed a ser executada. Se nenhum for fornecido, todas as regras serão executadas
screenshot boolean Indica se os dados binários que contêm uma captura de tela precisam ser incluídos (Padrão: false)
snapshots boolean Indica se os dados binários que contêm imagens de snapshot precisam ser incluídos (Padrão: false)
strategy string A estratégia de análise (computador ou dispositivo móvel) a ser usada, e o desktop é o padrão

Os valores aceitáveis são:
  • "desktop": buscar e analisar o URL de navegadores para computador
  • "mobile": buscar e analisar o URL de dispositivos móveis
utm_campaign string Nome da campanha para análise.
utm_source string Origem da campanha para análise.

Corpo da solicitação

Não forneça um corpo de solicitação com este método.

Resposta

Se for bem-sucedido, esse método retornará um corpo de resposta com esta estrutura:

{
  "captchaResult": string,
  "kind": "pagespeedonline#result",
  "id": string,
  "responseCode": integer,
  "title": string,
  "ruleGroups": {
    (key): {
      "score": integer,
      "pass": boolean
    }
  },
  "loadingExperience": {
    "id": string,
    "metrics": {
      (key): {
        "median": integer,
        "distributions": [
          {
            "min": integer,
            "max": integer,
            "proportion": double
          }
        ],
        "category": string
      }
    },
    "overall_category": string,
    "initial_url": string
  },
  "pageStats": {
    "numberResources": integer,
    "numberHosts": integer,
    "totalRequestBytes": long,
    "numberStaticResources": integer,
    "htmlResponseBytes": long,
    "textResponseBytes": long,
    "overTheWireResponseBytes": long,
    "cssResponseBytes": long,
    "imageResponseBytes": long,
    "javascriptResponseBytes": long,
    "flashResponseBytes": long,
    "otherResponseBytes": long,
    "numberJsResources": integer,
    "numberCssResources": integer,
    "numberRobotedResources": integer,
    "numberTransientFetchFailureResources": integer,
    "numTotalRoundTrips": integer,
    "numRenderBlockingRoundTrips": integer,
    "robotedUrls": [
      string
    ],
    "transientFetchFailureUrls": [
      string
    ],
    "cms": string
  },
  "formattedResults": {
    "locale": string,
    "ruleResults": {
      (key): {
        "localizedRuleName": string,
        "ruleImpact": double,
        "beta": boolean,
        "groups": [
          string
        ],
        "summary": {
          "format": string,
          "args": [
            {
              "type": string,
              "key": string,
              "value": string,
              "rects": [
                {
                  "left": integer,
                  "top": integer,
                  "width": integer,
                  "height": integer
                }
              ],
              "secondary_rects": [
                {
                  "left": integer,
                  "top": integer,
                  "width": integer,
                  "height": integer
                }
              ]
            }
          ]
        },
        "urlBlocks": [
          {
            "header": {
              "format": string,
              "args": [
                {
                  "type": string,
                  "key": string,
                  "value": string,
                  "rects": [
                    {
                      "left": integer,
                      "top": integer,
                      "width": integer,
                      "height": integer
                    }
                  ],
                  "secondary_rects": [
                    {
                      "left": integer,
                      "top": integer,
                      "width": integer,
                      "height": integer
                    }
                  ]
                }
              ]
            },
            "urls": [
              {
                "result": {
                  "format": string,
                  "args": [
                    {
                      "type": string,
                      "key": string,
                      "value": string,
                      "rects": [
                        {
                          "left": integer,
                          "top": integer,
                          "width": integer,
                          "height": integer
                        }
                      ],
                      "secondary_rects": [
                        {
                          "left": integer,
                          "top": integer,
                          "width": integer,
                          "height": integer
                        }
                      ]
                    }
                  ]
                },
                "details": [
                  {
                    "format": string,
                    "args": [
                      {
                        "type": string,
                        "key": string,
                        "value": string,
                        "rects": [
                          {
                            "left": integer,
                            "top": integer,
                            "width": integer,
                            "height": integer
                          }
                        ],
                        "secondary_rects": [
                          {
                            "left": integer,
                            "top": integer,
                            "width": integer,
                            "height": integer
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  },
  "version": {
    "major": integer,
    "minor": integer
  },
  "invalidRules": [
    string
  ],
  "screenshot": {
    "key": string,
    "mime_type": string,
    "data": bytes,
    "width": integer,
    "height": integer,
    "page_rect": {
      "left": integer,
      "top": integer,
      "width": integer,
      "height": integer
    }
  },
  "snapshots": [
    {
      "key": string,
      "mime_type": string,
      "data": bytes,
      "width": integer,
      "height": integer,
      "page_rect": {
        "left": integer,
        "top": integer,
        "width": integer,
        "height": integer
      }
    }
  ]
}
Nome da propriedade Valor Descrição Observações
captchaResult string O resultado da verificação do captcha

Os valores aceitáveis são:
  • "CAPTCHA_BLOCKING"
  • "CAPTCHA_MATCHED"
  • "CAPTCHA_NEEDED"
  • "CAPTCHA_NOT_NEEDED"
  • "CAPTCHA_UNMATCHED"
kind string Tipo de resultado.
id string URL canônico e final para o documento, após os seguintes redirecionamentos de página (se houver).
responseCode integer Código de resposta do documento. O valor 200 indica um carregamento de página normal. 4xx/5xx indica um erro.
title string Título da página, conforme exibido na barra de título do navegador.
ruleGroups object Um mapa com uma entrada para cada grupo de regras nesses resultados.
ruleGroups.(key) object O nome desse grupo de regras: um de "SPEED", "USABILITY" ou "SECURITY".
ruleGroups.(key).score integer É a pontuação (de 0 a 100) para esse grupo de regras, que indica o desempenho de uma página nessa categoria (por exemplo, a velocidade, a usabilidade ou segurança). Uma pontuação alta indica pouco espaço para melhorias, enquanto uma pontuação menor indica mais espaço para melhorias.
ruleGroups.(key).pass boolean
loadingExperience object Métricas de experiência de carregamento de página pelos usuários finais.
loadingExperience.id string URL, padrão ou origem em que as métricas estão.
loadingExperience.metrics object
loadingExperience.metrics.(key) object O tipo da métrica.
loadingExperience.metrics.(key).median integer
loadingExperience.metrics.(key).distributions[] list
loadingExperience.metrics.(key).distributions[].min integer
loadingExperience.metrics.(key).distributions[].max integer
loadingExperience.metrics.(key).distributions[].proportion double
pageStats object Estatísticas de resumo da página, como número de bytes de JavaScript, de bytes HTML etc.
pageStats.numberResources integer Número de recursos HTTP carregados pela página
pageStats.numberHosts integer Número de hosts exclusivos referenciados pela página.
pageStats.totalRequestBytes long Tamanho total de todos os bytes de solicitação enviados pela página.
pageStats.numberStaticResources integer Número de recursos estáticos (ou seja, armazenáveis em cache) na página.
pageStats.htmlResponseBytes long Número de bytes de resposta não compactados para o documento HTML principal e todos os iframes na página.
pageStats.textResponseBytes long Número de bytes de resposta não compactados para recursos de texto não cobertos por outras estatísticas (por exemplo, recursos não HTML, sem script e não CSS) na página.
pageStats.overTheWireResponseBytes long Número de bytes via rede. Usa a estratégia de compactação de gzip padrão como uma estimativa.
pageStats.cssResponseBytes long Número de bytes de resposta não compactados para recursos CSS na página.
pageStats.imageResponseBytes long Número de bytes de resposta para recursos de imagem na página.
pageStats.javascriptResponseBytes long Número de bytes de resposta descompactados para recursos JS na página.
pageStats.flashResponseBytes long Número de bytes de resposta para recursos em Flash na página.
pageStats.otherResponseBytes long Número de bytes de resposta de outros recursos na página.
pageStats.numberJsResources integer Número de recursos JavaScript referenciados pela página.
pageStats.numberCssResources integer Número de recursos de CSS referenciados pela página.
pageStats.numberRobotedResources integer Número de recursos com robô.
pageStats.numberTransientFetchFailureResources integer Número de recursos com falha temporária.
pageStats.numTotalRoundTrips integer As viagens de ida e volta necessárias para carregar a página inteira
pageStats.numRenderBlockingRoundTrips integer As viagens de ida e volta necessárias para carregar os recursos de bloqueio de renderização
pageStats.robotedUrls[] list Lista de URLs com robô.
pageStats.transientFetchFailureUrls[] list Lista de URLs com falha temporária de busca.
pageStats.cms string É o sistema de gerenciamento de conteúdo (CMS) usado para a página.

Os valores aceitáveis são:
  • "BITRIX"
  • "BLOGGER"
  • "DATALIFE_ENGINE"
  • "DRUPAL"
  • "GOOGLE_SITES"
  • "JOOMLA"
  • "MAGENTO"
  • "PRESTASHOP"
  • "TUMBLR"
  • "UNKNOWN"
  • "VBULLETIN"
  • "WORDPRESS"
formattedResults object Resultados do PageSpeed localizados. Contém uma entrada regraResults para cada regra do PageSpeed instanciada e executada pelo servidor.
formattedResults.locale string A localidade de formattedResults, por exemplo, "en_US".
formattedResults.ruleResults object Dicionário de resultados de regras formatados, com uma entrada para cada regra do PageSpeed instanciada e executada pelo servidor.
formattedResults.ruleResults.(key) object O identificador semelhante a uma enumeração para esta regra. Por exemplo, "EnableKeepAlive" ou "PreventCssImport". Não localizado.
formattedResults.ruleResults.(key).localizedRuleName string Nome localizado da regra, destinado à apresentação para um usuário.
formattedResults.ruleResults.(key).ruleImpact double O impacto (valor de ponto flutuante ilimitado) que a implementação das sugestões para essa regra teria como acelerar a página. O impacto é comparável entre as regras para determinar quais sugestões das regras teriam um impacto maior ou menor na otimização da página. Por exemplo, se a ativação da compactação economiza 1 MB, enquanto a otimização de imagens economiza 500 KB, a regra de ativação da compactação tem o dobro da impacto da regra de otimização de imagem, tudo o que é igual.
formattedResults.ruleResults.(key).beta boolean Se esta regra está em 'beta'. As regras em Beta são regras novas que estão sendo testadas e não afetam a pontuação geral.
formattedResults.ruleResults.(key).groups[] list Lista de grupos a que esta regra pertence. Cada entrada da lista é "SPEED", "USABILITY" ou "SECURITY".
formattedResults.ruleResults.(key).summary nested object Uma breve descrição resumida da regra, indicando em alto nível o que deve ser feito para seguir a regra e os benefícios que ela pode atingir.
formattedResults.ruleResults.(key).summary.format string Uma string de formato localizada com marcadores de posição , em que 'Food' é a chave do argumento cujo valor precisa ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave 'Food'
formattedResults.ruleResults.(key).summary.args[] list Lista de argumentos para a string de formato.
formattedResults.ruleResults.(key).summary.args[].type string Tipo de argumento. Um dos URLs: STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK ou SNAPSHOT_RECT.

Os valores aceitáveis são:
  • "BYTES"
  • "DISTANCE"
  • "DURATION"
  • "HYPERLINK"
  • "INT_LITERAL"
  • "PERCENTAGE"
  • "SNAPSHOT_RECT"
  • "STRING_LITERAL"
  • "URL"
  • "VERBATIM_STRING"
formattedResults.ruleResults.(key).summary.args[].key string A chave de marcador para esse argumento, como uma string.
formattedResults.ruleResults.(key).summary.args[].value string Valor do argumento, como uma string localizada.
formattedResults.ruleResults.(key).summary.args[].rects[] list Os retângulos de tela sendo indicados, com as dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT. Se estiver ausente de um argumento SNAPSHOT_RECT, isso significa que esse argumento se refere a todo o snapshot.
formattedResults.ruleResults.(key).summary.args[].rects[].left integer
formattedResults.ruleResults.(key).summary.args[].rects[].top integer
formattedResults.ruleResults.(key).summary.args[].rects[].width integer
formattedResults.ruleResults.(key).summary.args[].rects[].height integer
formattedResults.ruleResults.(key).summary.args[].secondary_rects[] list Retângulos de tela secundários mencionados, com dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT.
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].left integer
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].top integer
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].width integer
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[] list Lista de blocos de URLs: cada um deles pode conter um título e uma lista de URLs. Cada URL pode incluir detalhes adicionais.
formattedResults.ruleResults.(key).urlBlocks[].header nested object Título que será exibido com a lista de URLs.
formattedResults.ruleResults.(key).urlBlocks[].header.format string Uma string de formato localizada com marcadores de posição , em que 'Food' é a chave do argumento cujo valor precisa ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave 'Food'
formattedResults.ruleResults.(key).urlBlocks[].header.args[] list Lista de argumentos para a string de formato.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].type string Tipo de argumento. Um dos URLs: STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK ou SNAPSHOT_RECT.

Os valores aceitáveis são:
  • "BYTES"
  • "DISTANCE"
  • "DURATION"
  • "HYPERLINK"
  • "INT_LITERAL"
  • "PERCENTAGE"
  • "SNAPSHOT_RECT"
  • "STRING_LITERAL"
  • "URL"
  • "VERBATIM_STRING"
formattedResults.ruleResults.(key).urlBlocks[].header.args[].key string A chave de marcador para esse argumento, como uma string.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].value string Valor do argumento, como uma string localizada.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[] list Os retângulos de tela sendo indicados, com as dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT. Se estiver ausente de um argumento SNAPSHOT_RECT, isso significa que esse argumento se refere a todo o snapshot.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[] list Retângulos de tela secundários mencionados, com dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].urls[] list Lista de entradas que fornecem informações sobre URLs no bloco de URL. Opcional.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result nested object Uma string de formato que dá informações sobre o URL e uma lista de argumentos para essa string de formato.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.format string Uma string de formato localizada com marcadores de posição , em que 'Food' é a chave do argumento cujo valor precisa ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave 'Food'
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[] list Lista de argumentos para a string de formato.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].type string Tipo de argumento. Um dos URLs: STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK ou SNAPSHOT_RECT.

Os valores aceitáveis são:
  • "BYTES"
  • "DISTANCE"
  • "DURATION"
  • "HYPERLINK"
  • "INT_LITERAL"
  • "PERCENTAGE"
  • "SNAPSHOT_RECT"
  • "STRING_LITERAL"
  • "URL"
  • "VERBATIM_STRING"
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].key string A chave de marcador para esse argumento, como uma string.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].value string Valor do argumento, como uma string localizada.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[] list Os retângulos de tela sendo indicados, com as dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT. Se estiver ausente de um argumento SNAPSHOT_RECT, isso significa que esse argumento se refere a todo o snapshot.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[] list Retângulos de tela secundários mencionados, com dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[] list Lista de entradas que fornecem detalhes adicionais sobre um único URL. Opcional.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].format string Uma string de formato localizada com marcadores de posição , em que 'Food' é a chave do argumento cujo valor precisa ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave 'Food'
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[] list Lista de argumentos para a string de formato.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].type string Tipo de argumento. Um dos URLs: STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK ou SNAPSHOT_RECT.

Os valores aceitáveis são:
  • "BYTES"
  • "DISTANCE"
  • "DURATION"
  • "HYPERLINK"
  • "INT_LITERAL"
  • "PERCENTAGE"
  • "SNAPSHOT_RECT"
  • "STRING_LITERAL"
  • "URL"
  • "VERBATIM_STRING"
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].key string A chave de marcador para esse argumento, como uma string.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].value string Valor do argumento, como uma string localizada.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[] list Os retângulos de tela sendo indicados, com as dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT. Se estiver ausente de um argumento SNAPSHOT_RECT, isso significa que esse argumento se refere a todo o snapshot.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[] list Retângulos de tela secundários mencionados, com dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].height integer
version object A versão do PageSpeed usada para gerar esses resultados.
version.major integer É o número da versão principal do PageSpeed usado para gerar esses resultados.
version.minor integer É o número da versão secundária do PageSpeed usado para gerar esses resultados.
invalidRules[] list Lista de regras especificadas na solicitação, mas que o servidor não sabia como instanciar.
screenshot nested object Captura de tela codificada em Base64 da página que foi analisada.
screenshot.key string Chave de string exclusiva, se houver, que identifica essa imagem.
screenshot.mime_type string Tipo MIME dos dados de imagem (por exemplo, "image/jpeg").
screenshot.data bytes Dados codificados da imagem em base64.
screenshot.width integer Largura da captura de tela em pixels.
screenshot.height integer Altura da captura de tela em pixels.
screenshot.page_rect object
screenshot.page_rect.left integer
screenshot.page_rect.top integer
screenshot.page_rect.width integer
screenshot.page_rect.height integer
snapshots[] list Capturas de tela adicionais codificadas em base64 da página, em vários estados de renderização parcial.
snapshots[].key string Chave de string exclusiva, se houver, que identifica essa imagem.
snapshots[].mime_type string Tipo MIME dos dados de imagem (por exemplo, "image/jpeg").
snapshots[].data bytes Dados codificados da imagem em base64.
snapshots[].width integer Largura da captura de tela em pixels.
snapshots[].height integer Altura da captura de tela em pixels.
snapshots[].page_rect object
snapshots[].page_rect.left integer
snapshots[].page_rect.top integer
snapshots[].page_rect.width integer
snapshots[].page_rect.height integer
loadingExperience.metrics.(key).category string

Os valores aceitáveis são:
  • "AVERAGE"
  • "FAST"
  • "NONE"
  • "SLOW"
loadingExperience.overall_category string

Os valores aceitáveis são:
  • "AVERAGE"
  • "FAST"
  • "NONE"
  • "SLOW"
loadingExperience.initial_url string

Confira!

Use o APIs Explorer abaixo para chamar esse método em dados ativos e ver a resposta.