Skip to content

Instantly share code, notes, and snippets.

@kurtroberts
Last active June 7, 2019 19:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kurtroberts/49679a5caae6dee951f6 to your computer and use it in GitHub Desktop.
Save kurtroberts/49679a5caae6dee951f6 to your computer and use it in GitHub Desktop.
Check a list of sites to see if they are Google Mobile friendly.
http://www.corporate.walmart.com/
http://www.exxonmobil.com/
http://www.chevron.com/
http://www.berkshirehathaway.com/
http://www.apple.com/
http://www.phillips66.com/
http://www.gm.com/
http://www.ford.com/
http://www.ge.com/
http://www.valero.com/
http://www.att.com/
http://info.cvscaremark.com/
http://www.fanniemae.com/
http://www.unitedhealthgroup.com/
http://www.mckesson.com/
http://www.verizon.com/
http://www.hp.com/
http://www.jpmorganchase.com/
http://www.costco.com/
http://www.express-scripts.com/
http://www.bankofamerica.com/
http://www.cardinal.com/
http://www.ibm.com/
http://www.thekrogerco.com/
http://www.marathonpetroleum.com/
http://www.citigroup.com/
http://www.adm.com/
http://www.amerisourcebergen.com/
http://www.wellsfargo.com/
http://www.boeing.com/
http://www.pg.com/
http://www.freddiemac.com/
http://www.homedepot.com/
http://www.microsoft.com/
http://www.amazon.com/
http://www.target.com/
http://www.walgreens.com/
http://www.wellpoint.com/
http://www.jnj.com/
http://www.aig.com/
http://www.statefarm.com/
http://www.metlife.com/
http://www.pepsico.com/
http://www.comcastcorporation.com/
http://www.utc.com/
http://www.google.com/
http://www.conocophillips.com/
http://www.dow.com/
http://www.caterpillar.com/
http://www.ups.com/
http://www.pfizer.com/
http://www.lowes.com/
http://www.intel.com/
http://www.energytransfer.com/
http://www.cisco.com/
http://www.enterpriseproducts.com/
http://www.aetna.com/
http://www.coca-colacompany.com/
http://www.lockheedmartin.com/
http://www.bestbuy.com/
http://www.disney.com/
http://www.chsinc.com/
http://www.sysco.com/
http://www.fedex.com/
http://www.merck.com/
http://www.intlfcstone.com/
http://www.safeway.com/
http://www.johnsoncontrols.com/
http://www.ingrammicro.com/
http://www.plainsallamerican.com/
http://www.wfscorp.com/
http://www.prudential.com/
http://www.humana.com/
http://www.gs.com/
http://www.tsocorp.com/
http://www.libertymutual.com/
http://www.honeywell.com/
http://www.unitedcontinentalholdings.com/
http://www.hcahealthcare.com/
http://www.deere.com/
http://www.delta.com/
http://www.oracle.com/
http://www.morganstanley.com/
http://www.hess.com/
http://www.21cf.com/
http://www.dupont.com/
http://www.searsholdings.com/
http://www.newyorklife.com/
http://www.mondelezinternational.com/
http://www.americanexpress.com/
http://www.nationwide.com/
http://www.allstate.com/
http://www.tysonfoods.com/
http://www.supervalu.com/
http://www.tiaa-cref.org/
http://www.massmutual.com/
http://www.cigna.com/
http://www.directv.com/
http://www.generaldynamics.com/
http://www.pmi.com/
http://www.3m.com/
http://www.timewarner.com/
http://www.halliburton.com/
http://www.publix.com/
http://www.internationalpaper.com/
http://www.mcdonalds.com/
http://www.macysinc.com/
http://www.tjx.com/
http://www.fluor.com/
http://www.northwesternmutual.com/
http://www.techdata.com/
http://www.aa.com/
http://www.thehartford.com/
http://www.travelers.com/
http://www.nikeinc.com/
http://www.oxy.com/
http://www.avnet.com/
http://www.riteaid.com/
http://www.exeloncorp.com/
http://www.qualcomm.com/
http://www.emerson.com/
http://www.northropgrumman.com/
http://www.duke-energy.com/
http://www.capitalone.com/
http://www.aflac.com/
http://www.raytheon.com/
http://www.staples.com/
http://www.emc.com/
http://www.lilly.com/
http://www.alcoa.com/
http://www.nov.com/
http://www.bakerhughes.com/
http://www.usfoods.com/
http://www.twc.com/
http://www.up.com/
http://www.abbott.com/
http://www.xerox.com/
http://www.arrow.com/
http://www.kimberly-clark.com/
http://www.usbank.com/
http://www.usaa.com/
http://www.fcx.com/
http://www.ielp.com/
http://www.manpowergroup.com/
http://www.hollyfrontier.com/
http://www.globalp.com/
http://www.goodyear.com/
http://www,pbfenergy.com/
http://www.danaher.com/
http://www.nucor.com/
http://www.kohlscorporation.com/
http://www.abbvie.com/
http://www.whirlpoolcorp.com/
http://www.amgen.com/
http://www.jabil.com/
http://www.kraftfoodsgroup.com/
http://www.progressive.com/
http://www.centurylink.com/
http://www.generalmills.com/
http://www.southwest.com/
http://www.altria.com/
http://www.autonation.com/
http://www.chk.com/
http://www.dollargeneral.com/
http://www.trw.com/
http://www.ussteel.com/
http://www.colgatepalmolive.com/
http://www.cummins.com/
http://www.paccar.com/
http://www.southerncompany.com/
http://www.itw.com/
http://www.pnc.com/
http://www.medtronic.com/
http://www.aes.com/
http://corporate.murphyusa.com/
http://www.bms.com/
http://www.lear.com/
http://www.gapinc.com/
http://www.apachecorp.com/
http://www.ebayinc.com/
http://www.bnymellon.com/
http://www.cbscorporation.com/
http://www.pge.com/
http://www.conagrafoods.com/
http://www.csc.com/
http://www.aep.com/
http://www.westerndigital.com/
http://www.marathonoil.com/
http://www.baxter.com/
http://www.ppg.com/
http://www.nexteraenergy.com/
http://www.chs.net/
http://www.loews.com/
http://www.penskeautomotive.com/
http://www.firstenergycorp.com/
http://www.starbucks.com/
http://www.monsanto.com/
http://www.kelloggcompany.com/
http://www.landolakesinc.com/
http://www.oneok.com/
http://www.omnicomgroup.com/
http://www.anadarko.com/
http://www.eogresources.com/
http://www.dish.com/
http://www.genpt.com/
http://www.kindermorgan.com/
http://www.wm.com/
http://www.chubb.com/
http://www.aramark.com/
http://www.viacom.com/
http://www.sands.com/
http://www.dom.com/
http://www.ecolab.com/
http://www.smithfieldfoods.com/
http://www.thermofisher.com/
http://www.yum.com/
http://www.parker.com/
http://www.wholefoodsmarket.com/
http://www.marriott.com/
http://www.chrobinson.com/
http://www.l-3com.com/
http://www.edisoninvestor.com/
http://www.toysrusinc.com/
http://www.nordstrom.com/
http://www.conedison.com/
http://www.mmc.com/
http://www.ti.com/
http://www.textron.com/
http://www.tenethealth.com/
http://www.davita.com/
http://www.csx.com/
http://www.lfg.com/
http://www.praxair.com/
http://www.pplweb.com/
http://www.jcpenney.com/
http://www.kiewit.com/
http://www.jacobs.com/
http://www.corporate.visa.com/
http://www.heinz.com/
http://www.carmax.com/
http://www.vfc.com/
http://www.entergy.com/
http://www.adp.com/
http://www.nrgenergy.com/
http://www.guardianlife.com/
http://www.libertyinteractive.com/
http://www.nscorp.com/
http://www.officedepot.com/
http://www.ameriprise.com/
http://www.gilead.com/
http://www.centene.com/
http://www.leucadia.com/
http://www.huntsman.com/
http://www.healthnet.com/
http://www.stanleyblackanddecker.com/
http://www.urs.com/
http://www.xcelenergy.com/
http://www.bedbathandbeyond.com/
http://www.navistar.com/
http://www.synnex.com/
http://www.firstdata.com/
http://www.agcocorp.com/
http://www.lb.com/
http://www.hertz.com/
http://www.cdw.com/
http://www.cstbrands.com/
http://www.sempra.com/
http://www.rrdonnelley.com/
http://www.bbt.com/
http://www.devonenergy.com/
http://www.familydollar.com/
http://www.unum.com/
http://www.ally.com/
http://www.rgare.com/
http://www.statestreet.com/
http://www.airproducts.com/
http://www.rossstores.com/
http://www.sherwin.com/
http://www.elcompanies.com/
http://www.blackrock.com/
http://www.wnr.com/
http://www.avoncompany.com/
http://www.mosaicco.com/
http://www.pseg.com/
http://www.deanfoods.com/
http://www.c-a-m.com/
http://www.mgmresorts.com/
http://www.kkr.com/
http://www.hiltonworldwide.com/
http://www.dteenergy.com/
http://www.genworth.com/
http://www.henryschein.com/
http://www.rocktenn.com/
http://www.wellcare.com/
http://www.grainger.com/
http://www.discoverfinancial.com/
http://www.eastman.com/
http://www.principal.com/
http://www.rsac.com/
http://www.autozone.com/
http://www.dovercorporation.com/
http://www.micron.com/
http://www.owens-minor.com/
http://www.assurant.com/
http://www.gamestopcorp.com/
http://www.stryker.com/
http://www.group1auto.com/
http://www.cognizant.com/
http://www.sonicautomotive.com/
http://www.autoliv.com/
http://www.hormelfoods.com/
http://www.motorolasolutions.com/
http://www.crowncork.com/
http://www.suntrust.com/
http://www.campbellsoupcompany.com/
http://www.fnf.com/
http://www.hdsupply.com/
http://www.caesars.com/
http://www.darden.com/
http://www.weyerhaeuser.com/
http://www.ball.com/
http://www.precast.com/
http://www.masco.com/
http://www.uhsinc.com/
http://www.republicservices.com/
http://www.mastercard.com/
http://www.newmont.com/
http://www.broadcom.com/
http://www.reynoldsamerican.com/
http://www.pvh.com/
http://www.charter.com/
http://www.aecom.com/
http://www.centerpointenergy.com/
http://www.pacificlife.com/
http://www.thrivent.com/
http://www.bd.com/
http://www.franklinresources.com/
http://www.tenneco.com/
http://www.tatravelcenters.com/
http://www.avisbudgetgroup.com/
http://www.facebook.com/
http://www.dollartree.com/
http://www.corning.com/
http://www.ashland.com/
http://www.sealedair.com/
http://www.core-mark.com/
http://www.oshkoshcorporation.com/
http://www.cokecce.com/
http://www.wesco.com/
http://www.appliedmaterials.com/
http://www.visteon.com/
http://www.borgwarner.com/
http://www.spectrumgi.com/
http://www.oaktreecapital.com/
http://www.steeldynamics.com/
http://www.jarden.com/
http://www.mohawkind.com/
http://www.terex.com/
http://www.nu.com/
http://www.kbr.com/
http://www.53.com/
http://www.ugicorp.com/
http://www.cbre.com/
http://www.questdiagnostics.com/
http://www.peabodyenergy.com/
http://www.thehersheycompany.com/
http://www.bostonscientific.com/
http://www.fmctechnologies.com/
http://www.interpublic.com/
http://www.cmc.com/
http://www.thepantry.com/
http://www.o-i.com/
http://www.amfam.com/
http://www.ralphlauren.com/
http://www.biogenidec.com/
http://www.petm.com/
http://www.mylan.com/
http://www.symantec.com/
http://www.ameren.com/
http://www.williams.com/
http://www.barnesandnobleinc.com/
http://www.huntingtoningalls.com/
http://www.pricelinegroup.com/
http://www.agilent.com/
http://www.dana.com/
http://www.dillards.com/
http://www.seaboardcorp.com/
http://www.tenethealth.com/
http://www.caseys.com/
http://www.oreillyauto.com/
http://www.blackstone.com/
http://www.mutualofomaha.com/
http://www.molinahealthcare.com/
http://www.cmsenergy.com/
http://www.targaresources.com/
http://www.quantaservices.com/
http://www.cablevision.com/
http://www.averydennison.com/
http://www.celanese.com/
http://www.footlocker-inc.com/
http://www.celgene.com/
http://www.advanceautoparts.com/
http://www.mattel.com/
http://www.livenation.com/
http://www.generalcable.com/
http://www.ryder.com/
http://www.emcorgroup.com/
http://www.allergan.com/
http://www.wrberkley.com/
http://www.rockwellautomation.com/
http://www.netapp.com/
http://www.ingredion.com/
http://www.level3.com/
http://www.calpine.com/
http://www.omnicare.com/
http://www.erieinsurance.com/
http://www.salliemae.com/
http://www.drhorton.com/
http://www.clearchannel.com/
http://www.anixter.com/
http://www.dickssportinggoods.com/
http://www.sandisk.com/
http://www.ncr.com/
http://www.starwoodhotels.com/
http://www.expeditors.com/
http://www.fisglobal.com/
http://www.unfi.com/
http://www.auto-owners.com/
http://www.windstream.com/
http://www.drpeppersnapplegroup.com/
http://www.lennar.com/
http://www.sanmina.com/
http://www.harley-davidson.com/
http://www.consolenergy.com/
http://www.smucker.com/
http://www.newellrubbermaid.com/
http://www.ch2m.com/
http://www.energyfutureholdings.com/
http://www.susser.com/
http://www.labcorp.com/
http://www.kindredhealthcare.com/
http://www.leidos.com/
http://www.boozallen.com/
http://www.edwardjones.com/
http://www.cliffsnaturalresources.com/
http://www.pultegroupinc.com/
http://www.regions.com/
http://www.nisource.com/
http://www.graybar.com/
http://www.integrysgroup.com/
http://www.thecloroxcompany.com/
http://www.wynnresorts.com/
http://www.andersonsinc.com/
http://www.jbhunt.com/
http://www.aksteel.com/
http://www.harbingergroupinc.com/
http://www.mwv.com/
http://www.westernunion.com/
http://www.aboutschwab.com/
http://www.discoverycommunications.com/
http://www.spectraenergy.com/
http://www.sjm.com/
http://www.cfindustries.com/
http://www.con-way.com/
http://www.oldrepublic.com/
http://www.jetblue.com/
http://www.calumetspecialty.com/
http://www.kellyservices.com/
http://www.domtar.com/
http://www.murphyoilcorp.com/
http://www.harris.com/
http://www.asburyauto.com/
http://www.biglots.com/
http://www.amd.com/
http://www.owenscorning.com/
http://www.realogy.com/
http://www.hosthotels.com/
http://www.mrcglobal.com/
http://www.simon.com/
http://www.tractorsupply.com/
http://www.gannett.com/
http://www.alaskaair.com/
http://www.insight.com/
http://www.mhfi.com/
http://www.buckeye.com/
http://www.quintiles.com/
http://www.afginc.com/
http://www.unitedstationers.com/
http://www.coach.com/
http://www.lkqcorp.com/
http://www.nobleenergyinc.com/
http://www.bemis.com/
http://www.joyglobal.com/
http://www.wyndhamworldwide.com/
http://www.nii.com/
http://www.lorillard.com/
http://www.alleghany.com/
http://www.airgas.com/
http://www.firstam.com/
http://www.ur.com/
var https = require('https'),
async = require('async'),
fs = require('fs'),
opts = require('nomnom')
.option('inputFile', {
abbr: 'i',
required: true,
help: 'List of URLS, one per line, to check against the Google Mobile Friendly API'
})
.option('concurrency', {
abbr: 'c',
default: 2,
help: 'Number of workers to run in queue. Keep in mind too many will get you rate limited.'
})
.option('requestRest', {
abbr: 'r',
default: 5,
help: 'Number of seconds to rest between requests. Helps prevent Google from blocking you.'
})
.option('throttleRest', {
abbr: 't',
default: 10,
help: 'Number of seconds to wait after being throttled by Google.'
})
.parse(),
writeResult = function (string) {
var res = JSON.parse(string);
console.log(res.id, ',', res.ruleGroups.USABILITY.score, ',', res.ruleGroups.USABILITY.pass);
},
q = async.queue(function (url, callback) {
https.get('https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?url=' + url, function (res) {
if (res.statusCode == 200) {
var data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function () {
writeResult(data);
setTimeout(function () {
callback();
}, opts.requestRest * 1000)
});
} else if (res.statusCode == 429) {
q.push(url); //retry this one later
if (!q.paused) {
q.pause();
console.error('Rate Limit hit, pausing with', q.length(), 'items.');
setTimeout(function () {
console.error('Resuming.');
q.resume();
}, opts.throttleRest * 1000);
}
callback();
} else {
console.error('Got', res.statusCode, 'for', url);
callback();
}
});
}, 2);
q.drain = function () {
process.exit(0);
};
fs.readFile(opts.inputFile, 'utf8', function (err, result) {
var urls = result.split("\n");
urls.forEach(function (x) {
q.push(x);
});
});
{
"name": "rp3-mobile-friendly-checker",
"version": "1.0.0",
"description": "Check a list of URLs for mobile friendliness",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Kurt Roberts",
"license": "MIT",
"dependencies": {
"async": "^1.4.2",
"nomnom": "^1.8.1",
}
}
@kurtroberts
Copy link
Author

I might mention that Google seems to have designed this API to not be particularly easy to deal with. It passes through some http status codes, misuses other (gives a 500 when disallowed by robots.txt, when 401 is semantically forbidden), and generally returns crazy to make your life miserable.

@kurtroberts
Copy link
Author

187 of these sites fail the test, as of today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment