Replaces the logo on various Google search engines to that of the logo they had from 2010 to 2013, and also changes the favicon to that of the 2012 one. Dark theme compatible.
Additionally, it has some features to further age the look of your results:
- Square search boxes
- Square favicons in results
- Denser results listing
- Removal of pills row, results gimmicks, and People also searched for
- Redirect automatically to
&udm=14
results pages - Remove URL breadcrumbs in results and make the URL text green
You can see what sites Old Google is asking permission to run on here in the manifest:
Lines 53 to 58 in 2a569a4
Essentially, I can't just ask for *://*.google.*/
domain permissions because for every TLD (.com, .co.uk, .org, etc), there could be a different owner. In practice, Google owns every google.*
domain, but in theory google.com
and google.co.uk
are two distinct domains who can have completely different owners. Therefore, Manifest v2 (and v3) don't allow wildcards for the TLD, meaning I have to add in a specific entry for every known google.whatever domain. Doing just google.com
only might break if you automatically get redirected to a google.co.uk
or something like that!
Most issue/progress tracking is done on the Issues and Milestones pages respectively. The below list maintained for historical purposes. I am open to PRs for help on features and improvements if you would like to help!
Goals/Project TODO Archive
- Favicon replacement
- Favicon replacement based on specific site
- Allow Old Google to run on TLDs other than .com. (Currently removed functionality)
- Sign, package, and distribute this extension on AMO
- Refactor
- Remove
&tbm=isch
for SVG google logo handling as Google has removed this search page - Rename references to "random row" to "pills"—as Google likes to call them
- Rename references to green URL fixing to proper paths to say full URL instead of breadcrumbs
- Replace arrays of query selectors with some documentation of what means what. Keep array of
browser.runtime.getURL
objects for logos instead
- Remove
- Optimise regular Google Search CSS injection with a single
InjectCssAtHead()
run via just concatenating CSS strings for options into one big string then just running one injection - Change options text to reflect more up-to-date functionality
- Optimise the
&udm=14
redirector by using abrowser.onBeforeRequest
or similar faster trigger
Problems with unsupported/buggy display of pages on the list below may be planned for fixes/implementation on the update roadmap. If they're not planned on the roadmap (i.e. updates being developed actively to be released soon), then check the Issues tab. Report new display issues/bugs there if they're not reported already!
This includes logo replacement where possible, and custom era-appropriate favicon (if applicable; otherwise, the generic old Google Search logo will be used).
- Regular Google Search, Images, etc all accessible from Google.com
- Videos
- Patents
- Scholar
- Books
- Maps
- Finance
- Shopping
- News
- Travel (including Google Flights)
- Trends
- Google Earth (support is rudimentary due to the fact that Google Earth is mostly a canvas, which isn't within the scope I can access)
Initially, this started in October 2021 as me using the DevTools console and some rudimentary JavaScript to change the src
attribute of the Google logo on the homepage. I would write like 3 lines of code, and run it. Then I was like screw it, and added code to detect the page URL, and therefore some code to replace either the homepage or search page logos. Then Google maps, then Google Images.
Eventually, I started writing functions into the DevTools, and saving it to a Notepad document. Then I started writing tweaks in VS Code and pasting it into the console. This became replace.js. And then I decided to learn how to package this as an addon, so I learnt how AMO works and how to package a Firefox addon…and now we're here!
I daily-drive this addon and enjoy it to this day, so I'm generally pretty aware of how well (or unwell) it runs. The primary issue with an addon like this is that Google's code is subject to change at any time, so it's me in a race against Google updates.
- Firefox (obviously)
- Mozilla's
web-ext
tool (available on most Linux distributions as theweb-ext
package, or throughnpm install --global web-ext
on Windows and non-supporting Linux distributions)
- Clone the GitHub repo:
git clone https://github.com/toydotgame/old-google.git cd old-google/
- Build the code:
web-ext build
- Install the addon temporarily in Firefox:
- In Firefox, go to
about:debugging
, to This Firefox, then under the Temporary Extensions heading, click Load Temporary Add-on... - After that, navigate to wherever you cloned the repo, then inside that
old-google/
folder, findweb-ext-artifacts/
, and in that, double-click to openold_google-x.x.zip
- In Firefox, go to
Alternatively, you can just load the manifest.json
file into about:debugging
to achieve the same functionality.
Installing the extension as per Steps will cause it to be removed after you close the browser window because that copy of the extension is unsigned (for development/testing only). You can alternatively download a signed copy of the compiled extension from the Releases tab
old-google-x.x.xpi
is signed, meaning it can be installed inabout:addons
(then Install Addon From File...), and will remain permanentlyold-google-x.x-sources.xpi
is unsigned, meaning it can only be installed temporarily throughabout:debugging
, and will remain loaded only for that browser session. This XPI is the same file I upload to Mozilla for them to sign and publish to AMO