Werder Bremen vs. Hoffenheim Historical Head-to-Head

Werder Bremen
13 wins
10 draws
9 losses
55 goals
Hoffenheim
9 wins
10 draws
13 losses
54 goals
vs.
Totals on this page may not be complete, please see our coverage note for years and competitions included.

Head-to-Head Matches

Head-to-Head Matches Table
Comp Round Day Date Time Home xG Score xG Away Attendance Venue Referee Match Report Notes
BundesligaBundesligaSun2025-02-1615:30 Werder BremenHoffenheimWeserstadion
BundesligaBundesligaSun2024-09-2917:30 Hoffenheim1.23–42.9Werder Bremen26,018PreZero ArenaTobias ReichelMatch Report
BundesligaBundesligaSun2024-03-0317:30 Hoffenheim1.72–11.3Werder Bremen25,000PreZero ArenaMatthias JöllenbeckMatch Report
BundesligaBundesligaSat2023-10-0718:30 Werder Bremen0.82–31.9Hoffenheim41,000Wohninvest WeserstadionChristian DingertMatch Report
BundesligaBundesligaSun2023-04-0217:30 Werder Bremen0.91–21.1Hoffenheim42,000Wohninvest WeserstadionSascha StegemannMatch Report
BundesligaBundesligaFri2022-10-0720:30 Hoffenheim1.71–21.3Werder Bremen25,410PreZero ArenaBenjamin CortusMatch Report
BundesligaBundesligaSun2021-02-2118:00 Hoffenheim2.34–00.1Werder BremenPreZero ArenaRobert SchröderMatch Report
BundesligaBundesligaSun2020-10-2518:00 Werder Bremen0.31–11.0HoffenheimWeserstadionDaniel SchlagerMatch Report
BundesligaBundesligaSun2020-01-2615:30 Werder Bremen0.80–31.5Hoffenheim40,000WeserstadionMartin PetersenMatch Report
BundesligaBundesligaSat2019-08-2415:30 Hoffenheim0.93–21.2Werder Bremen27,333PreZero ArenaSascha StegemannMatch Report
BundesligaBundesligaSat2019-05-1115:30 Hoffenheim2.10–10.9Werder Bremen30,150PreZero ArenaBastian DankertMatch Report
BundesligaBundesligaWed2018-12-1920:30 Werder Bremen2.41–11.9Hoffenheim40,003WeserstadionMarkus SchmidtMatch Report
BundesligaBundesligaSat2018-01-1315:30 Werder Bremen2.31–10.9Hoffenheim37,500WeserstadionRobert HartmannMatch Report
DFB-PokalSecond roundWed2017-10-2520:45 Werder Bremen1–0Hoffenheim31,210Weserstadion Platz 12Tobias StielerMatch Report
BundesligaBundesligaSat2017-08-1915:30 Hoffenheim1.01–00.9Werder Bremen30,150Dietmar-Hopp-StadionGuido WinkmannMatch Report
BundesligaBundesligaSat2017-05-1315:30 Werder Bremen3–5Hoffenheim41,000WeserstadionDaniel SiebertMatch Report
BundesligaBundesligaWed2016-12-2120:00 Hoffenheim1–1Werder Bremen29,076Wirsol Rhein-Neckar-ArenaBenjamin CortusMatch Report
BundesligaBundesligaSat2016-02-1315:30 Werder Bremen1–1Hoffenheim38,454WeserstadionBenjamin BrandMatch Report
BundesligaBundesligaSun2015-09-1315:30 Hoffenheim1–3Werder Bremen28,312PreZero ArenaJochen DreesMatch Report
BundesligaBundesligaWed2015-02-0420:00 Hoffenheim1–2Werder Bremen23,631PreZero ArenaGuido WinkmannMatch Report
BundesligaBundesligaSat2014-08-3015:30 Werder Bremen1–1Hoffenheim38,900WeserstadionRobert HartmannMatch Report
BundesligaBundesligaSat2014-04-19Werder Bremen3–1HoffenheimBastian DankertMatch Report
BundesligaBundesligaSat2013-11-30Hoffenheim4–4Werder BremenWolfgang StarkMatch Report
BundesligaBundesligaSat2013-05-04Werder Bremen2–2HoffenheimRobert HartmannMatch Report
BundesligaBundesligaSun2012-12-02Hoffenheim1–4Werder BremenKnut KircherMatch Report
BundesligaBundesligaSat2012-02-11Werder Bremen1–1HoffenheimMichael WeinerMatch Report
Comp Round Day Date Time Home xG Score xG Away Attendance Venue Referee Match Report Notes
BundesligaBundesligaSat2011-08-27Hoffenheim1–2Werder BremenBabak RafatiMatch Report
BundesligaBundesligaSat2011-01-15Werder Bremen2–1HoffenheimFelix ZwayerMatch Report
BundesligaBundesligaSat2010-08-21Hoffenheim4–1Werder BremenGünter PerlMatch Report
BundesligaBundesligaSun2010-03-14Hoffenheim0–1Werder BremenPeter SippelMatch Report
BundesligaBundesligaSat2009-10-17Werder Bremen2–0HoffenheimKnut KircherMatch Report
BundesligaBundesligaSat2009-03-07Hoffenheim0–0Werder BremenMichael WeinerMatch Report
BundesligaBundesligaSat2008-09-27Werder Bremen5–4HoffenheimGünter PerlMatch Report
Head-to-Head Matches Table
Comp Round Day Date Time Home xG Score xG Away Attendance Venue Referee Match Report Notes
BundesligaBundesligaSun2024-09-2917:30 Hoffenheim1.23–42.9Werder Bremen26,018PreZero ArenaTobias ReichelMatch Report
BundesligaBundesligaFri2022-10-0720:30 Hoffenheim1.71–21.3Werder Bremen25,410PreZero ArenaBenjamin CortusMatch Report
BundesligaBundesligaSat2019-05-1115:30 Hoffenheim2.10–10.9Werder Bremen30,150PreZero ArenaBastian DankertMatch Report
DFB-PokalSecond roundWed2017-10-2520:45 Werder Bremen1–0Hoffenheim31,210Weserstadion Platz 12Tobias StielerMatch Report
BundesligaBundesligaSun2015-09-1315:30 Hoffenheim1–3Werder Bremen28,312PreZero ArenaJochen DreesMatch Report
BundesligaBundesligaWed2015-02-0420:00 Hoffenheim1–2Werder Bremen23,631PreZero ArenaGuido WinkmannMatch Report
BundesligaBundesligaSat2014-04-19Werder Bremen3–1HoffenheimBastian DankertMatch Report
BundesligaBundesligaSun2012-12-02Hoffenheim1–4Werder BremenKnut KircherMatch Report
BundesligaBundesligaSat2011-08-27Hoffenheim1–2Werder BremenBabak RafatiMatch Report
BundesligaBundesligaSat2011-01-15Werder Bremen2–1HoffenheimFelix ZwayerMatch Report
BundesligaBundesligaSun2010-03-14Hoffenheim0–1Werder BremenPeter SippelMatch Report
BundesligaBundesligaSat2009-10-17Werder Bremen2–0HoffenheimKnut KircherMatch Report
BundesligaBundesligaSat2008-09-27Werder Bremen5–4HoffenheimGünter PerlMatch Report
Head-to-Head Matches Table
Comp Round Day Date Time Home xG Score xG Away Attendance Venue Referee Match Report Notes
BundesligaBundesligaSun2020-10-2518:00 Werder Bremen0.31–11.0HoffenheimWeserstadionDaniel SchlagerMatch Report
BundesligaBundesligaWed2018-12-1920:30 Werder Bremen2.41–11.9Hoffenheim40,003WeserstadionMarkus SchmidtMatch Report
BundesligaBundesligaSat2018-01-1315:30 Werder Bremen2.31–10.9Hoffenheim37,500WeserstadionRobert HartmannMatch Report
BundesligaBundesligaWed2016-12-2120:00 Hoffenheim1–1Werder Bremen29,076Wirsol Rhein-Neckar-ArenaBenjamin CortusMatch Report
BundesligaBundesligaSat2016-02-1315:30 Werder Bremen1–1Hoffenheim38,454WeserstadionBenjamin BrandMatch Report
BundesligaBundesligaSat2014-08-3015:30 Werder Bremen1–1Hoffenheim38,900WeserstadionRobert HartmannMatch Report
BundesligaBundesligaSat2013-11-30Hoffenheim4–4Werder BremenWolfgang StarkMatch Report
BundesligaBundesligaSat2013-05-04Werder Bremen2–2HoffenheimRobert HartmannMatch Report
BundesligaBundesligaSat2012-02-11Werder Bremen1–1HoffenheimMichael WeinerMatch Report
BundesligaBundesligaSat2009-03-07Hoffenheim0–0Werder BremenMichael WeinerMatch Report
Head-to-Head Matches Table
Comp Round Day Date Time Home xG Score xG Away Attendance Venue Referee Match Report Notes
BundesligaBundesligaSun2024-03-0317:30 Hoffenheim1.72–11.3Werder Bremen25,000PreZero ArenaMatthias JöllenbeckMatch Report
BundesligaBundesligaSat2023-10-0718:30 Werder Bremen0.82–31.9Hoffenheim41,000Wohninvest WeserstadionChristian DingertMatch Report
BundesligaBundesligaSun2023-04-0217:30 Werder Bremen0.91–21.1Hoffenheim42,000Wohninvest WeserstadionSascha StegemannMatch Report
BundesligaBundesligaSun2021-02-2118:00 Hoffenheim2.34–00.1Werder BremenPreZero ArenaRobert SchröderMatch Report
BundesligaBundesligaSun2020-01-2615:30 Werder Bremen0.80–31.5Hoffenheim40,000WeserstadionMartin PetersenMatch Report
BundesligaBundesligaSat2019-08-2415:30 Hoffenheim0.93–21.2Werder Bremen27,333PreZero ArenaSascha StegemannMatch Report
BundesligaBundesligaSat2017-08-1915:30 Hoffenheim1.01–00.9Werder Bremen30,150Dietmar-Hopp-StadionGuido WinkmannMatch Report
BundesligaBundesligaSat2017-05-1315:30 Werder Bremen3–5Hoffenheim41,000WeserstadionDaniel SiebertMatch Report
BundesligaBundesligaSat2010-08-21Hoffenheim4–1Werder BremenGünter PerlMatch Report

Fixture Leaders

Werder Bremen Players vs. Hoffenheim

Werder Bremen Players vs. Hoffenheim Table
Player Nation Pos MP Min Gls Ast PK PKatt CrdY CrdR
François Affolterch SUIDF1900000
Felix Agude GERDF,MF3244000000
Ludwig Augustinssonse SWEDF,MF5450010000
Philipp Bargfredede GERMF151,080410020
Fin Bartelsde GERFW,MF8453010020
Robert Bauerde GERDF,MF5361110020
Frank Baumannde GERDF,MF1900000
Leonardo Bittencourtde GERFW,MF7312000020
Tim Borowskide GERMF21620010
Luca Caldirolait ITADF21800000
Kevin De Bruynebe BELFW,MF21801000
Franco Di Santoar ARGFW4358120010
Diegobr BRAMF21801000
Papy Djilobodjisn SENDF190100000
Jaroslav Drobnýcz CZEGK190000000
Marvin Duckschde GERFW5420120010
Torsten Fringsde GERMF54272100
Clemens Fritzde GERDF,MF151,299000040
Álex Gálvezes ESPDF,MF4227100010
Santiago Garcíaar ARGDF8667110040
Florian Grillitschat AUTDF,MF190010000
Florian Hartherzde GERDF1900000
Aleksandar Ignjovskirs SRBDF,MF42880000
Daniel Jensendk DENMF21130010
Max Krusede GERFW,MF6480010010
Cédric Makiadicd CODMF21800010
Julián Malatiniar ARGDF2180100000
Jean-Manuel Mbomde GERDF,MF2112000000
Sebastian Mielitzde GERGK21800000
Kevin Möhwaldde GERMF5330000010
Niklas Moisanderfi FINDF7630000020
Naldobr BRADF32700000
Yuya Osakojp JPNFW,MF6369100000
Mesut Özilde GERMF21802000
Sokratis Papastathopoulosgr GREDF43600010
Jiří Pavlenkacz CZEGK121,080000000
Nils Petersende GERFW5251200010
Claudio Pizarrope PERFW14865410020
Nuri Şahintr TURMF3242010000
Lamine Sanésn SENDF,MF3255000000
Lukas Schmitzde GERDF,MF31890000
Mikaël Silvestrefr FRADF1900000
Ömer Topraktr TURDF3196000010
Alexandros Tziolisgr GREMF1900000
Anthony Ujahng NGAFW2180110010
Miloš Veljkovićrs SRBDF121,026000000
Jannik Vestergaarddk DENDF3270000000
Kevin Vogtde GERDF,MF190000000
Mitchell Weiserde GERDF,FW5450030010
Felix Wiedwaldde GERGK3270000000
Tim Wiesede GERGK87200020
Andreas Wolfde GERDF1900000
Raphael Wolfde GERGK4360000000
Özkan Yıldırımde GERMF1900000
Michael Zettererde GERGK2180000000
Anthony Jungde GERDF,MF5432000010
Marko Arnautovićat AUTFW,MF54015010
Johannes Eggesteinde GERFW3238100021
Ulisses Garciach SUIDF,MF3172000000
Davie Selkede GERFW2145010010
Hugo Almeidapt PORFW31870000
Felix Kroosde GERDF,FW4293000020
Derrick Köhnde GERDF,MF175000010
Thomas Delaneydk DENMF3245010000
Niklas Starkde GERDF,MF3221010000
Senne Lynenbe BELMF3236000000
Nicolai Rappde GERDF,MF171000010
Eljero Elianl NEDFW,MF4291100010
Christian Großde GERDF,MF5337010000
Zlatko Junuzovićat AUTFW,MF8627200020
Marco Friedlat AUTDF8688000040
Josh Sargentus USAFW,MF3236000000
Aaron Huntde GERFW,MF107733210
Markus Rosenbergse SWEFW62241000
Aron Jóhannssonus USAFW,MF489000000
Davy Klaassennl NEDMF3242010020
Per Mertesackerde GERDF76011001
Milot Rashicaxk KVXFW,MF4246010000
Niklas Schmidtde GERFW,MF159000010
Sebastian Boenischpl POLDF32380000
Ilia Gruevbg BULMF158000010
Naby Keïtagn GUIMF158000010
Justin Njinmahde GERFW,MF285000000
Ishak Belfodildz ALGFW,MF2116100010
Maximilian Eggesteinde GERMF10796110020
Serge Gnabryde GERFW,MF2143100000
Levin Öztunalıde GERFW,MF290000000
Romano Schmidat AUTMF6448100010
Jérôme Gondorfde GERMF250000010
Rafael Borréco COLFW132000000
Petri Pasanenfi FINDF52820010
Jens Stagedk DENMF5226400010
Peter Niemeyerde GERDF,MF2400000
Olivier Demanbe BELDF,FW241000010
Sebastian Prödlat AUTDF,MF9601100020
Jurica Vranješhr CROMF1260000
Marko Marinde GERFW,MF62420000
Joseph Akpalang NGAFW1200000
Niclas Füllkrugde GERFW7367211100
Nick Woltemadede GERFW291000000
Skelly Alverofr FRAMF233100000
Dawid Kownackipl POLFW,MF118000000
Sandro Wagnerde GERFW1180000
Mehmet Ekicitr TURMF31310030
Theodor Gebre Selassiecz CZEDF,MF161,301310010
Lee Buchananeng ENGDF116000000
Florian Kainzat AUTFW,MF5188000000
Maximilian Philippde GERFW,MF116000000
Amos Pieperde GERDF350100000
Keke Maximilian Toppde GERFW115000010
Janek Sternbergde GERDF,MF110000000
Eren Dinkçide GERFW,MF211000000
Assani Lukimya-Mulongoticd CODDF6286000010
Martin Harnikat AUTFW,MF15000010
Tahith Chongnl NEDFW,MF14000000
Sebastian Langkampde GERDF294000000
Marco Grüllat AUTFW,MF13000000
Izet Hajrovićba BIHMF262000000
Denni Avdićse SWEFW,MF110000
45431,637552641742

Werder Bremen Goalkeepers vs. Hoffenheim

Werder Bremen Goalkeepers vs. Hoffenheim Table
Player Nation Pos MP Min SoTA GA Saves Save% CS
Jaroslav Drobnýcz CZEGK19031266.70
Sebastian Mielitzde GERGK218030
Jiří Pavlenkacz CZEGK121,08045202655.62
Felix Wiedwaldde GERGK32701871161.10
Tim Wiesede GERGK8720113
Raphael Wolfde GERGK436067466.70
Michael Zettererde GERGK2180115654.50
322,88083544957.85

Hoffenheim Players vs. Werder Bremen

Hoffenheim Players vs. Werder Bremen Table
Player Nation Pos MP Min Gls Ast PK PKatt CrdY CrdR
David Abrahamar ARGDF3225000010
Kevin Akpogumang NGADF6459000010
David Alabaat AUTDF,MF1900000
Demba Basn SENFW32412000
Ryan Babelnl NEDFW,MF1900000
Oliver Baumannde GERGK171,530000010
Andreas Beckde GERDF,MF121,000000000
Ishak Belfodildz ALGFW,MF2119000000
Ermin Bičakčićba BIHDF8682300000
Tom Bischofde GERMF190000000
Joshua Brenetcw CUWDF190000000
John Brooksus USADF3270000000
Koen Casteelsbe BELGK32700000
Marvin Compperde GERDF97461020
Kerem Demirbayde GERMF6498020000
Carlos Eduardobr BRAFW,MF32620000
Christian Eichnerde GERDF31990010
Jens Grahlde GERGK1900010
Florian Grillitschat AUTDF,MF10725000020
Luiz Gustavobr BRADF,MF42640010
Daniel Haasde GERGK1900000
Kai Herdlingde GERFW,MF1901000
Timo Hildebrandde GERGK21800000
Adam Hložekcz CZEFW,MF190100000
Benjamin Hübnerde GERDF6488100020
Andreas Ibertsbergerat AUTDF43150000
Vedad Ibiševićba BIHFW53832100
Matthias Jaisslede GERDF21350010
Christoph Jankerde GERDF1900000
Kim Jin-sukr KORDF2180000000
Marco Johnde GERDF,MF190000000
Fabian Johnsonus USADF,MF64090000
Pavel Kadeřábekcz CZEDF,FW151,216120030
Gregor Kobelch SUIGK190000000
Maicosuelbr BRAMF21800000
Peniel Mlapatg TOGFW41891010
Per Nilssonse SWEDF1900000
Håvard Nordtveitno NORDF,MF190000000
Kasim Nuhugh GHADF2180000000
Chinedu Obasing NGAFW43390020
Ramazan Özcanat AUTGK1900000
Philipp Pentkede GERGK2180000000
Eugen Polanskipl POLMF9594000010
Stefan Poschat AUTDF4360000020
Grischa Prömelde GERMF2180110010
Chris Richardsus USADF190000000
Sebastian Rudyde GERMF141,069020040
Lukas Ruppde GERMF2159000000
Sejad Salihovićba BIHDF,MF10818502040
Fabian Schärch SUIDF2180000000
Josip Šimunićhr CRODF42730020
Anton Stachde GERDF,MF3225010010
Kostas Stafylidisgr GREDF,MF190000000
Tom Starkede GERGK43600000
Denis Strekerde GERMF1900000
Niklas Sülede GERDF7554000010
Stefan Theskerde GERDF1900000
Jeremy Toljande GERDF,MF4301000000
Mark Uthde GERFW,MF6430020010
Jannik Vestergaarddk DENDF4277100020
Kevin Vogtde GERDF,MF11990000030
Kevin Vollandde GERFW,MF8716200020
Isaac Vorsahgh GHADF,MF54500010
Boris Vukčevićde GERMF53131010
Wout Weghorstnl NEDFW2180000000
Danny Williamsus USADF,MF21800000
Jukka Raitalafi FINDF1850000
Nadiem Amiride GERMF5298000000
Angeliñoes ESPDF,MF2168010000
Maximilian Beierde GERFW,MF2156300000
Boubacar Sanogoci CIVFW1800000
Roberto Firminobr BRAFW,MF8673200010
Srđan Lakićhr CROFW1790000
Edson Braafheidnl NEDDF1780000
Pirmin Schweglerch SUIMF3192000010
Andrej Kramarićhr CROFW,MF12796510031
Serge Gnabryde GERFW,MF299010000
Joselues ESPFW1730000
Philipp Ochsde GERFW,MF293000000
Robert Skovdk DENDF,FW4277020000
Finn Ole Beckerde GERMF380000000
Tim Drexlerde GERMF164000010
Ádám Szalaihu HUNFW7448130010
Umut Tohumcude GERMF2154010020
Dennis Geigerde GERMF7511130030
Tarik Elyounoussino NORFW,MF3196000010
Moanes Dabburil ISRFW4285200000
Jacob Bruun Larsendk DENFW,MF375000000
Vincenzo Grifoit ITAFW,MF1540000
Leonardo Bittencourtde GERFW,MF255100010
Christoph Baumgartnerat AUTFW,MF7508300020
Valentin Gendreyfr FRADF145000000
Robin Hackde GERFW,MF145000000
Kevin Kurányide GERFW145000000
Andreas Ludwigde GERMF1450000
Alexander Prassat AUTDF,MF145000000
Jonathan Schmidfr FRADF,MF263000010
Selim Teberde GERMF1450000
Eduardo Vargascl CHIFW,MF2135100010
Tobias Weisde GERMF64480010
Steven Zuberch SUIDF,FW6445110000
Stephan Schröckph PHIDF,MF1360010
Joelintonbr BRAFW,MF2124000000
Klaussbr BRAFW132000000
Nico Schulzde GERDF,FW2122010010
Sargis Adamyanam ARMFW,MF354100000
Marius Bülterde GERDF,FW3171300021
Jiloan Hamadiq IRQMF255000000
Mergim Berishade GERFW126010000
Fisnik Asllanixk KVXFW124000000
Max Moerstedtde GERFW122000000
Sandro Wagnerde GERFW2112100000
Marco Terrazzinode GERFW,MF2260000
Knowledge Musonazw ZIMFW,MF1200000
Anthony Modestefr FRAFW354000000
Prince Tagoegh GHAFW3360000
Ihlas Beboutg TOGFW,MF6384220010
Eren Derdiyokch SUIFW1170000
Reiss Nelsoneng ENGFW,MF242000000
Ozan Kabaktr TURDF4261000010
Igor de Camargobe BELFW,MF1150000
Thomas Delaneydk DENMF114000000
Mijat Gaćinovićrs SRBMF114000010
Denis Thomallade GERFW,MF1140000
Sven Schipplockde GERFW5169200030
Stanley N'Sokifr FRADF4131000011
Angelo Stillerde GERMF213000000
Wellingtonbr BRAFW1100000
Barış Atikde GERFW,MF19000000
Melayro Bogardenl NEDDF19010000
Tobias Stroblde GERDF,MF6304010000
Diadie Samassékouml MLIMF3186010000
Ryan Sessegnoneng ENGDF,FW29000000
Georginio Rutterfr FRAFW,MF229100000
45331,575533030753

Hoffenheim Goalkeepers vs. Werder Bremen

Hoffenheim Goalkeepers vs. Werder Bremen Table
Player Nation Pos MP Min SoTA GA Saves Save% CS
Oliver Baumannde GERGK171,53083265769.92
Koen Casteelsbe BELGK3270100
Jens Grahlde GERGK19030
Daniel Haasde GERGK19001
Timo Hildebrandde GERGK218030
Gregor Kobelch SUIGK1901100.00
Ramazan Özcanat AUTGK19050
Philipp Pentkede GERGK218051480.01
Tom Starkede GERGK436060
322,88089556169.74

About FBref.com

FBref.com launched (June 13, 2018) with domestic league coverage for England, France, Germany, Italy, Spain, and United States. Since then we have been steadily expanding our coverage to include domestic leagues from over 40 countries as well as domestic cup, super cup and youth leagues from top European countries. We have also added coverage for major international cups such as the UEFA Champions League and Copa Libertadores.

FBref is the most complete sources for women's football data on the internet. This includes the entire history of the FIFA Women's World Cup as well as recent domestic league seasons from nine countries, including advanced stats like xG for most of those nine.

In collaboration with Opta, we are including advanced analytical data such as xG, xA, progressive passing, duels and more for over twenty competitions. For more information on the expected goals model and which competitions have advanced data, see our xG explainer.

Note that player records are likely not complete for their careers. Players may come from or move to leagues we don't currently cover. This issue will go down over time, as we add new leagues and seasons. We will never in the future have less data than we do today.

You can sign up to receive an e-mail when new countries and features launch.

For more information, see our Launch Blog Post, the overall leagues/competition page with details on leagues and seasons we include, or our About Page. Let us know if you find an issue or have a suggestion.

FBref is one of seven Sports-Reference.com sites.