Pagespeedapi: runpagespeed

Executa a análise do PageSpeed na página do URL especificado e retorna as pontuações do PageSpeed, uma lista de sugestões para tornar a 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 devem 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 nenhuma for fornecida, todas as regras serão executadas
screenshot boolean Indica se dados binários contendo uma captura de tela precisam ser incluídos (Padrão: false)
snapshots boolean Indica se dados binários contendo 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 é o padrão.

Os valores aceitáveis são os seguintes:
  • "desktop": busque e analise o URL para navegadores para computador
  • "mobile": busque e analise o URL para 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 É o URL canonizado e final do documento, após redirecionamentos de página (se houver).
responseCode integer Código de resposta para o documento. O valor 200 indica um carregamento de página normal. 4xx/5xx indica um erro.
title string Título da página, como exibido na barra de título do navegador.
ruleGroups object Um mapa com uma entrada para cada grupo de regras nos resultados.
ruleGroups.(key) object O nome desse grupo de regras: "VELOCIDADE", "USABILIDADE" ou "SEGURANÇA".
ruleGroups.(key).score integer A pontuação (0-100) para esse grupo de regras, que indica o quão melhor uma página poderia ser nessa categoria (por exemplo, qual é a velocidade, o quanto mais usabilidade ou quanto mais segura). 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 da experiência de carregamento da página dos usuários finais.
loadingExperience.id string O URL, o padrão ou a origem em que as métricas estão.
loadingExperience.metrics object
loadingExperience.metrics.(key) object O tipo de 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 Resumo das estatísticas da página, como o número de bytes do JavaScript, do 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 (por exemplo, armazenáveis em cache) na página.
pageStats.htmlResponseBytes long Número de bytes de resposta descompactados do documento HTML principal e de todos os iframes na página.
pageStats.textResponseBytes long Número de bytes de resposta descompactados para recursos de texto não cobertos por outras estatísticas (por exemplo, recursos não HTML, sem script e sem CSS) na página.
pageStats.overTheWireResponseBytes long Número de bytes transmitidos pela rede. Usa a estratégia de compactação gzip padrão como estimativa.
pageStats.cssResponseBytes long Número de bytes de resposta descompactados 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 para outros recursos na página.
pageStats.numberJsResources integer Número de recursos JavaScript referenciados pela página.
pageStats.numberCssResources integer Número de recursos CSS referenciados pela página.
pageStats.numberRobotedResources integer Número de recursos robots.
pageStats.numberTransientFetchFailureResources integer Número de recursos com falhas temporárias.
pageStats.numTotalRoundTrips integer As viagens de ida e volta necessárias para carregar a página inteira
pageStats.numRenderBlockingRoundTrips integer As idas e vindas necessárias para carregar os recursos de bloqueio de renderização
pageStats.robotedUrls[] list Lista de URLs com robôs.
pageStats.transientFetchFailureUrls[] list Lista de URLs de falha temporária de busca.
pageStats.cms string Sistema de gerenciamento de conteúdo (CMS) usado na 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 localizados do PageSpeed. Contém uma entrada rulesResults para cada regra do PageSpeed instanciada e executada pelo servidor.
formattedResults.locale string A localidade dos 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 tipo enumerado para esta regra. Por exemplo, "EnableKeepAlive" ou "preventCssImport". Não localizado.
formattedResults.ruleResults.(key).localizedRuleName string Nome localizado da regra, destinado à apresentação a 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 em tornar a página mais rápida. O impacto é comparável entre as regras para determinar qual sugestão teria um impacto maior ou menor na velocidade da página. Por exemplo, se a ativação da compactação poupar 1 MB, enquanto a otimização de imagens economizaria 500 KB, a regra de ativação de compactação teria o dobro do impacto da regra de otimização de imagem, com todos os outros elementos iguais.
formattedResults.ruleResults.(key).beta boolean Indica se esta regra está em "Beta". As regras na versão Beta são novas regras que estão sendo testadas e não afetam a pontuação geral.
formattedResults.ruleResults.(key).groups[] list Lista de grupos de regras a que esta regra pertence. Cada entrada na lista é "VELOCIDADE", "USABILIDADE" ou "SEGURANÇA".
formattedResults.ruleResults.(key).summary nested object Uma breve descrição resumida da regra, indicando de modo geral o que deve ser feito para seguir a regra e os benefícios gerados.
formattedResults.ruleResults.(key).summary.format string Uma string de formato localizada com marcadores de posição , em que 'FOO' é a chave do argumento cujo valor deve ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave "FOO".
formattedResults.ruleResults.(key).summary.args[] list Lista de argumentos para a string de formatação.
formattedResults.ruleResults.(key).summary.args[].type string Tipo de argumento. Uma destas opções: URL, 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 do marcador de posição 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 que estão sendo referidos, com dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT. Se esse argumento estiver ausente em um argumento SNAPSHOT_RECT, significa que esse argumento se refere ao snapshot inteiro.
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 Fazendo referência aos retângulos de tela secundários, 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 bloco pode conter um cabeçalho e uma lista de URLs. Como opção, cada URL pode incluir detalhes adicionais.
formattedResults.ruleResults.(key).urlBlocks[].header nested object Título a 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 'FOO' é a chave do argumento cujo valor deve ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave "FOO".
formattedResults.ruleResults.(key).urlBlocks[].header.args[] list Lista de argumentos para a string de formatação.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].type string Tipo de argumento. Uma destas opções: URL, 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 do marcador de posição 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 que estão sendo referidos, com dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT. Se esse argumento estiver ausente em um argumento SNAPSHOT_RECT, significa que esse argumento se refere ao snapshot inteiro.
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 Fazendo referência aos retângulos de tela secundários, 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 URLs. Opcional.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result nested object Uma string de formatação que fornece 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 'FOO' é a chave do argumento cujo valor deve ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave "FOO".
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[] list Lista de argumentos para a string de formatação.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].type string Tipo de argumento. Uma destas opções: URL, 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 do marcador de posição 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 que estão sendo referidos, com dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT. Se esse argumento estiver ausente em um argumento SNAPSHOT_RECT, significa que esse argumento se refere ao snapshot inteiro.
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 Fazendo referência aos retângulos de tela secundários, 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 'FOO' é a chave do argumento cujo valor deve ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave "FOO".
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[] list Lista de argumentos para a string de formatação.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].type string Tipo de argumento. Uma destas opções: URL, 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 do marcador de posição 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 que estão sendo referidos, com dimensões medidas em pixels CSS. Isso é usado apenas para argumentos SNAPSHOT_RECT. Se esse argumento estiver ausente em um argumento SNAPSHOT_RECT, significa que esse argumento se refere ao snapshot inteiro.
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 Fazendo referência aos retângulos de tela secundários, 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 estes 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 estes resultados.
invalidRules[] list Lista de regras que foram especificadas na solicitação, mas que o servidor não sabia 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 a imagem.
screenshot.mime_type string Tipo de MIME dos dados da imagem (por exemplo, "image/jpeg").
screenshot.data bytes Dados de imagem codificados 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 extras 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 a imagem.
snapshots[].mime_type string Tipo de MIME dos dados da imagem (por exemplo, "image/jpeg").
snapshots[].data bytes Dados de imagem codificados 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.