Tehnologie aplicatie web fotbal (neaparat SEO friendly)

Salut,

Satul de proiecte personale esuate pe parcurs din cauza scaderii motivatiei, am zis sa-mi ocup timpul de data asta cu ceva proiect din pasiune. Fiind suporter infocat al fotbalului si statisticii (cifre la nivel sportiv, nimic avansat), acum vreo 15 ani stateam ore intregi sa umplu Exceluri cu meciuri de fotbal si sa creez clasamente de mii de linii. Am mai tras de lucrul asta in urma cu 4 5 ani, insa am abandonat ideea (ce naiba, am 30 ani, nu mai stau cu orele sa adaug date intr-un excel nefolositor).

Eh, de cateva zile, lucrez la un admin panel prin care sa adaug cu usurinta meciurile (mai mult agregate) si sa pot forma un clasament mondial destul de automatizat, fara sa mai pierd ore intregi in excel. Problema e competitia :sweat_smile: exista 2 siteuri puse la punct care mai ofera astfel de statistici (incomplete dupa ideea mea), care au in jur de 200k vizite lunar. In trecut aveam o pagina de fb (exista si acum de) care a urcat la 3k likeuri organic, stiu cumva ca asiaticii si sud americanii sunt fanatici dupa astfel de siteuri si cu cateva idei dragute, l-as putea ridica rapid in google. Am avut prin 2010 cred o incercare de a face o aplicatie web, doar afisam datele intr-un mod mai dragut decat excel (si bineinteles era public), in php chior, procedural, pur si simplu afisam datele dintr-o tabela db. Pe parte de SEO era al naibi de misto, majoritatea echipelor erau indexate in google.

Tehnic: Am inceput un API in .NET Core 5 si admin panelul in Angular. sunt tehnologiile pe care le stiu cel mai bine si vreau sa pot optimiza cat mai mult adaugarea datelor. Mai cunosc Scala, poate mai tarziu, ceva servicii de background ar fi mai performante utilizandu-l in locul .NET. Intrebarea mea vine pentru aplicatia client, care trebuie sa:

  • fie indreptata catre SEO, am nevoie ca fiecare pagina dinamica sa fie accesibila motoarelor de cautare. Ca o paranteza, in angular n-am reusit niciodata sa pun in productie un proiect cu SSR facut.
  • fie usor de invatat, cat mai asemanator cu frameworkurile pe care le stiu deja, probabil ar ajuta asta;
  • poate sa fie ceva MVC (cum era ASP.NET), nu trebuie neaparat legata la APIul pe care-l construiesc acum;

Sunt oarecum confuz din cauza SSRului, incercasem de curand Blazor de la Microsoft cu gandul ca e MVC si incarca sursa in browser, dar m-am inselat, la fel ca la SPAuri, tot continutul e dinamic si nu ajuta la indexare.

Voi ce limbaj/framework ati alege pentru asta?

Am incarcat si 3 printuri pentru urmaritorii fenomenului :rofl:

merci

Sumar



4 Likes

Daca SEO contează eu nu as folosi niciun fel de tehnologie client-side pentru rendering (pe care sa o potrivești cumva să facă și SSR).

Ia absolut orice limbaj, absolut orice framework și generează HTML server-side. Problema rezolvată.

2 Likes

“SEO” e tech-agnostic.
Pur SEO din ce mi-am dat seama din screenshot-uri ar trebui sa ai pentru fiecare tara/liga/etapa o pagina cu URL independent (deci ceva server rendered).

Cat mai multe link-uri interne in loc de filtrarile cu dropdown si ceva continut generat automat in functie de informatiile pe care le ai (ex: Preț, diagrame, capitalizare de piață și alți indicatori pentru Stargate Finance (STG) | CoinMarketCap la headline-ul “STG Informații de preț live”.

Ce vrei sa faci tu se numeste “programatic seo”. Adica ai o cantitate mare de date pe care le poti manipula programatic in asa fel incat sa generezi pagini cu ele. Poate te ajuta la research.

1 Like

screenshoturile sunt din aplicatia admin.

Da, ar trebui cat mai multe linkuri, pentru fiecare entitate in parte. La fel, cat mai multe legaturi intre ele. Daca fac si o pagina cu explicatii pentru construirea clasamentelor, pot pune linkuri pe fiecare pagina de wikipedia a echipelor de fotbal, asta ar fi un salt urias pe partea de backlinkuri.

Yep, SEO conteaza foarte mult, altfel un site de genul fara vizite ar fi exact ca excelul, vazut doar de mine :sweat_smile:

Prerender.io e super trooper la așa ceva

nu stiu cat de bine am calculat, insa pentru ~ 10k pagini indexate costa undeva la 100$ pe luna. Am undeva la 6000 echipe de indexat, plus tari/competitii, ar fi un total de ~ 7000 indexari, minim. As vrea totusi ca suma aia s-o investesc in alte servicii (hosting, ads), daca proiectul prinde viata.

Totusi, s-ar putea ca indexarea oferita prin prerender sa fie net mai buna decat daca as face eu printr-un limbaj server side.

decizii, decizii :sweat_smile:

Daca pornesti de la 0 si nu ai utilizatori încă, o idee bună ar fi sa nu te arunci la cheltuieli si muncă multă.

Pentru inceput poti adapta indexarea după planul free.
Poti face caching decat la paginile care au suferit modificări în ultima lună, astfel nu va trebui să faci indexare in plus.

Chiar si așa, ar însemna un maximum de 1000 de pagini pe lună, ceea ce ar insemna aproape un an de zile să ajunga totul la zi.

Depinde cât te grăbești.
Ai putea sa prioritizezi paginile de indexat.
Iar in timpul ăsta urmărești eficiența SEO si îmbunătățești pentru urmatoarele pagini.
Plus ai avea timp sa iti validezi ideea.

Așa as face eu.

Atat Angular cat si React ofera randarea pe server daca vrei asta. Probabil si altele.

Ne-am intors 720 de grade?

1 Like

daca te referi la ultima postare cu intrebare despre proiect … da :))) a disparut entuziasmul pe parcursul dezvoltarii, ca in majoritatea cazurilor. de fapt, indoiala isi baga coada cel mai mult :sweat_smile:

Nu, nu, am o rafuiala pe alta directie.

Mi se pare o idee buna proiectul. Am incercat la un moment dat sa bat casele de pariuri studiind clasamente din anii trecuti dar n-am avut date suficient de multe si destul de centralizat, asa ca m am dat batut:))

Nu înțeleg de ce indexarea ar costa bani? Cere Gugle bani pt indexare mai nou?!?!

Recomand Laravel, ai MVC, cel mai bun query builder: Eloquent. Chiar poți să îl pui pe un host shared cu cpanel sau plesk.
Daca vrei angular cu ssr poți încerca Astro, e framework nou, dor ce au ieșit din beta.

Au plugin 3rd party pt angular.

sau poate svelte sau vue

sa vin si cu un update, in acelasi timp cu introducerea meciurilor in db, prin admin panel, am facut si 2 pagini pentru siteul client, bineinteles in ce stiam mai bine, Angular, pentru rapiditate :rofl: Am reusit sa instalez si SSR, chiar arata content in sursa, insa nu-mi place ca e totul pe o linie, am cautat ceva prettify pentru a structura codul sursa pe elemente, indentat, n-am reusit.

am urcat siteul pe netlify, insa sursa e statica, pur si simplu un json pentru top200 echipe, salvate intr-un serviciu, ce returneaza datele in cele 2 pagini (homepage si team details).
Functioneaza doar linkurile pentru echipe (ce trimit in pagina echipei selectate).

Pentru SSR, am un fisier routes.txt, va trebui sa fac un script care-mi ia toate echipele/tarile/competitiile din db periodic si-mi creeaza linkuri pentru ele, dupa care npm run prerender face toata treaba. Am inregistrat subdomeniul si pe google webmasters, am adaugat si 2 3 pagini (din cele care au ssr facut) pentru indexare, astept sa vad daca se intampla ceva :smiley: Altfel, s-ar putea sa functioneze doar cu domeniu, nu si cu subdomenii.

Ah, am mai setat meta pentru fiecare echipa, titlu, description, keywords, nu stiu insa daca are efect, trebuie sa astept indexarea.


Sursa pagina

1 Like

pentru echipe nu vad seo title + meta specifice fiecarei echipe (nu stiu ce termen cauti sa rankezi dar trebuie musai sa se regaseasca in titlu)

pentru fiecare echipa fa rost de ceva mai multe date de genul urmatorul meci, conturi de social media, e oarecum interesanta ideea de clasament mondial dar probabil nu cauta nimeni ceva atat de general

daca tot ai date genereaza un faq rich snippet care sa contina intrebari de genul “de cate ori a facut barca egal in anul 2021?”

uh, cate idei am in minte, timp sa am de ele.

clasamentul general e baza, cel putin momentan. Pentru fiecare echipa, pagina o sa fie mult mai bogata, pe langa statisticile pe baza rankingului, o sa incerc sa adaug conturi de social, top 2 3 siteuri sportive locale, link transfermarkt (unde gasesti valoarea echipelor). La partea cu top 2 3 siteuri, cel mai dragut ar fi fost sa ma leg de ceva api-uri din care sa aduc top10 news despre echipa X, insa in Laos sigur nu exista asa ceva, iar chiar si la echipele mari gen Real, Barca, siteurile locale nu ofera apiuri (cel putin gratuite).

Detalii echipa

Pentru toate detaliile care pot fi completate ulterior, vreau sa fac un sistem de XP prin care sa pot recompensa userii pentru contributie. Nu pot adauga eu 5000 conturi de fb, tiktok, insta, etc, o sa fac asta doar pentru echipele din top50 de exemplu, restul las la dispozitia comunitatii. Adaugi detalii noi, acestea raman in pending pana le revizuiesc, primesti XP. ce poti face cu XPul, nu stiu inca :)) Trebuie sa le leg de un concurs (doar categoria pronosticuri imi vine in minte acum), o competitie in care userii primesc 10 meciuri pe saptaman si ofera pronosticuri. Dupa 3 luni (termen pentru un sezon) castigatorii primesc premii (bani, bilete la meciuri, tricouri, etc). Ai XP in cont? cumpara 2 extra meciuri pe langa cele 10 (cred sansele sa fii in top).

Homepage

aici mi-am propus sa tin un top10 detaliat (pana la diferenta de goluri), si sub el, top5 echipe din cele 5 confederatii (uefa nu are rost, are tot timpul 5 echipe in top10). O sa creez ceva polluri, afisez si o echipa random, cu ceva detalii. In header sunt cateva linkuri statice, insa la fel, o sa fie si cateva linkuri dinamice, in sensul ca vreau sa promovez tari si echipe mici, de care n-a auzit nici naiba. Fiecare user isi poate selecta clubul favorit, pe baza astuia pot pune un alt widget cu cele mai iubite echipe pe platforma, sunt convins ca asiaticii vor avea castig de cauza aici :))

Competitii

Pentru competitii, nu vreau sa reproduc sezoanele, sunt milioane de siteuri care au detaliile astea, cel mai complet fiind wikipedia. Insa, voi face clasament general pentru fiecare sezon, al fiecarei competitii, deja am datele, pentru ca sunt children pentru compunerea clasamentului general.

Datele nu le am structurate pe fiecare meci in parte, ci pe faze, cel putin pentru trecut, pana ajung cu clasamentul la zi. Adica, pentru semifinala UCL din 2021 dintre Real Madrid si Chelsea nu am 2 meciuri adaugate in db (1-1 si 0-2), ci agregat, Real Madrid cu 1 egal si o infrangere, Chelsea cu o victorie si un egal, plus faza competitiei, pentru a o putea identifica.

Tara

pentru pagina fiecarei tari voi avea coeficientii. N-am spus nimic de coeficienti pana acum, pe langa competitiile continentale, o sa adaug si meciurile din campionatele nationale. Ca sa pot face asta, va trebui sa am deja adaugate competitiile continentale din ultimii 5 ani pentru a putea evalua ligile nationale (cum procedeaza uefa pentru calcularea coeficientilor, pentru cunoscatori). Un grafic cu evolutia acelei tari dpdv al coeficientilor, plus, in mod normal, pastrand tema platformei, si un clasament cu echipele (practic e clasamentul general cu filtrare pe tara). La fel ca in cazul echipelor, ar fi dragut un top10 news.

Doar descrierea pare sa functioneze, o sa mai verific, le-am facut superficial, in graba.

ca sa nu mai deschid alt subiect, are cineva idee de un hosting decent pentru stackul mssql, .NET (rest api), angular (2 sau 3 aplicatii)?

baza de date are undeva la 30mb in momentul actual, o sa am nevoie sa stochez imaginii (nu sunt hotarat inca daca pe un server sau intr-un cloud/cloudinary - cateva sute de mb probabil). Aplicatiile toate 3 la fel, ajung pe la 300mb, nu mai retin exact, insa api-ul am impresia ca e cel mai mare.

Trafic, cel putin la inceput, spre 0 :rofl: am mai avut un VPS pe windows (cu IIS) in trecut (8gb ram, 200gb ssd), nu’s prea multumit de cum se misca, ori nu-l configurasem cum trebuie.

De preturile de la Azure, Google Cloud, digitalocean nu prea ma pot atinge, ori nu stiu eu sa configurez serviciile, doar pentru baza de date pretul e undeva pe la 30 40$, cu configuratia cea mai slaba. Undeva la maxim 15$ pe luna as vrea sa dau, cel putin la inceput cand traficul e inexistent.

avand 4 servicii (db, api, web x2), nu le prea pot hosta separat, as ajunge cu pretul mult mai sus, deci nu stiu daca exista posibilitatea sa scap de vps.

Aplicatiile fiind la nivel international, banuiesc ca cele mai bune locatii pentru server ar fi prin US sau DE.

ca o solutie, am gasit contabo (are si ceva reviewuri pe aici) cu 16$ pe luna (8gb ram, 200gb ssd). Pentru majoritatea vps-urilor cu windows mai trebuie si licenta separat pentru OS, alt cost :face_with_peeking_eye:

multumesc

Vezi că în partea de sus a forumului este un banner mare și albastru la intovps :sweat_smile: