Passare da una struttura Wordpress + Discourse a un sito solo Discourse?

Ciao!

Prima di leggere quanto segue, potresti dare un’occhiata a Moved from PluXml and phpBB to Wordpress and Discourse, my all-new experience 🎉 ma non è obbligatorio, farò un riassunto.

Cosa abbiamo al momento.

WP è collegato a Discourse tramite WP Discourse. WP è anche il Client DiscourseConnect, e le notizie di WP vengono pubblicate automaticamente su Discourse in una categoria dedicata. Questo è tutto ciò che il plugin fa per noi.

  • Il sito web WP è principalmente focalizzato sulle notizie e sulle pagine informative statiche.

  • Il forum Discourse è… Un forum. Dove la community si incontra, parla e a volte organizza cose.


La Domanda

Mi sono chiesto: “Qual è veramente lo scopo del sito web? Il valore aggiunto è basso e molte delle funzionalità del sito potrebbero essere realizzate in Discourse. Quindi, perché preoccuparsi di due piattaforme?”

Nota che sono solo all’inizio della mia riflessione. Ma sto iniziando a pensare che potrebbe essere una buona idea sbarazzarsi di WordPress nel nostro caso.

Quindi, quali sono i vantaggi del sito web? Ha un layout pulito e focalizzato sulle notizie. Ha piccole funzionalità che sembrano carine ma sono forse inutili. L’iframe di Facebook della federazione sportiva. Un pulsante rivista. L’attività recente del forum. Il calendario eventi (una soluzione personalizzata). E molte pagine statiche di informazioni sulle cose del monociclo.

Cosa di tutto ciò non può essere fatto in Discourse? Praticamente nulla.

La preoccupazione principale sarebbe come rendere le notizie più visibili sul nostro forum. Non ci sono nuove informazioni ogni settimana, ma sono importanti nella comunità francese del monociclo e dovrebbero essere visibili.

Ho discusso di questo con due persone coinvolte in questo forum/sito. Pensano che sbarazzarsi di WP potrebbe essere una buona idea se non perdiamo nulla di importante che il sito web ci offre.

La parte tecnica.

  • L’intestazione personalizzata di Discourse rimarrebbe così com’è.

  • Le notizie potrebbero utilizzare News Plugin 📰. Non come pagina principale, perché il contenuto del forum non sarebbe disponibile finché non clicchiamo su un pulsante “forum” (come Elektronauts) e vogliamo enfatizzare anche l’attività della community online. Non ho ancora provato il plugin per le notizie, però.

  • Tuttavia, vorremmo avere alcune notizie sulla home page del forum. Ricordo di aver visto un plugin o un componente del tema che mostrava alcuni post in un banner in cima agli argomenti, ma potrei sbagliarmi. Esiste una soluzione esistente per questo? Il miglior uso per noi, penso, sarebbe avere qualcosa come le ultime 3 notizie con una miniatura e un estratto in cima alla home page, sotto l’intestazione, e che potremmo disattivare questo banner in modo che non ci disturbi se abbiamo già letto questi argomenti.

  • Le pagine statiche del sito web potrebbero essere argomenti o pagine pubblicate.

  • Il wiki potrebbe utilizzare la funzionalità wiki di Discourse.

  • Non abbiamo bisogno della newsletter (il riepilogo di Discourse la sostituirebbe), e il mio co-amministratore non vede un vero scopo nello stream dei post di Facebook incorporati della federazione sportiva, così come in altre cose.

  • Abbiamo una categoria eventi (soluzione personalizzata), che in questi giorni è un po’ vuota, ma ha la sua utilità, e vorremmo mantenere il tipo di categoria eventi con funzionalità specifiche.

Ho visto e provato diversi plugin per eventi/calendario in passato:

Alcuni erano un po’ difficili da capire o configurare, e le mie esigenze erano un po’ diverse quando li ho provati, quindi dovrei riprovare.

Pro e contro del mantenere solo Discourse

Pro

  • Niente più potenziali problemi con WP, le sue numerose estensioni/temi/codice personalizzato goffo [1] e la compatibilità WP/Discourse durante la pubblicazione di post.
  • Solo una piattaforma da considerare e su cui concentrarsi

  • Tutti i dati saranno organizzati in un unico database, rendendo le cose più semplici se un giorno dovessimo spostare tutte le nostre cose (anche Discourse non è eterno… O lo è? :face_savoring_food:)

Contro

  • Un po’ di lavoro per “spostare” alcune cose da WP a Discourse

  • Bisogna trovare soluzioni adeguate per alcune funzionalità

  • Bisogna impostare reindirizzamenti 301

La tua opinione, pensieri, consigli

Penso di aver spiegato bene cosa mi prefiggo. Sarei lieto di sentire qualsiasi suggerimento, consiglio, ecc., riguardo a questa possibile transizione da WP+D a D.


  1. non vuoi guardarlo; non provare nemmeno a pensarci, mi vergogno già ↩︎

6 Mi Piace

Penso che questo si ridurrebbe probabilmente alla quantità di traffico generata da ciascun sito e al tuo budget.

Discourse può assolutamente fare tutto quanto sopra, ma se stai servendo tonnellate di contenuti a utenti anonimi sul sito WordPress, il tuo costo per visualizzazione di pagina è significativamente inferiore.

Un VPS da 5$ configurato correttamente può servire milioni di visualizzazioni di pagina di sola lettura senza sforzo, è qui che WordPress eccelle. Lo stesso traffico richiederebbe risorse considerevolmente maggiori se fosse servito tramite Discourse. WordPress è ancora uno strumento incredibilmente efficace se ti preoccupano queste cose. Se configurato correttamente, è anche eccellente per curare i contenuti che servi ai motori di ricerca.

Ho un cliente che attualmente paga DO circa 100$/mese per entrambi. Quando abbiamo studiato la possibilità di spostare le cose all’ingrosso su Discourse, i costi di gestione sarebbero stati di un ordine di grandezza superiori, è sicuro dire che quel lavoro non è andato avanti.

3 Mi Piace

Grandi preoccupazioni. Avrei dovuto menzionare informazioni a riguardo.

Questo è un sito web molto di nicchia. Il traffico è basso per sua natura. Non costa nulla in termini di larghezza di banda, spazio su disco o altro. Entrambi i siti funzionano senza problemi sul mio VPS insieme ad altre cose web e sto facendo tutto questo come lavoro volontario. :slight_smile:

L’aspetto SEO sarebbe interessante da studiare, però. Non ci avevo pensato. :thinking:

2 Mi Piace

attualmente utilizza un backend CMS headless Strapi + frontend Next.js ospitato su Vercel.

Ha anche un forum Discourse collegato:
https://forum.monerochan.news/
Sto anche pensando di abbandonare completamente il backend Strapi e utilizzare solo Discourse come CMS headless.

quindi questo problema potrebbe essere risolto ospitando la “landing page” / le pagine più visitate in modo headless su qualcosa come Vercel.
Anche nella sua forma attuale Discourse potrebbe quasi funzionare come un CMS headless: possiamo semplicemente aggiungere .json all’URL dell’argomento e ottenere i dati markdown / post grezzi.

L’unico problema sarebbero i collegamenti permanenti, gli elenchi di argomenti curati e un sistema di pubblicazione + permessi per autori ed editor. Parte di ciò potrebbe essere fatto con gruppi e categorie, ma sarebbe bello se ci fosse solo una categoria di articoli / anteprime di articoli.

Forse dovremmo creare un plugin per questo :thinking:

@Canapin grazie per l’argomento! Ottima lettura :grinning: :+1:

4 Mi Piace

Ciò presuppone che sia solo la pagina principale a fornire contenuti semi-statici. Nell’esempio sopra, il sito ha oltre 10.000 post e pagine.

1 Mi Piace
export const getStaticProps: GetStaticProps = async ({params}) => {
  // Esegui chiamate API in parallelo
  const id = params?.id

  if (!id) {
    return {
      redirect: {
        destination: '/',
        permanent: false,
        // statusCode: 301
      },
    }
  }
  const qs = require('qs');
  const query = qs.stringify({
    populate: '*', 
  }, {
    encodeValuesOnly: true, // formatta l'URL
  });
  const article = await fetchAPI("/api/articles/" + params.id + "?" + query)
  if (!article.data) {
    return {
      redirect: {
        destination: '/',
        permanent: false,
        // statusCode: 301
      },
    }
  }

  return {
    props: { article },
    revalidate: 1,
  }
}

Uso questo codice nel frontend nextjs per recuperare gli articoli. Quindi memorizzerà nella cache l’articolo per 1 secondo e poi lo convaliderà. Quindi l’istanza di discourse riceverebbe solo 1 richiesta al secondo se usassimo questo metodo.

È immaginabile farlo non solo per una categoria speciale gestita da un gruppo speciale di utenti autori ed editor.
Potrebbe essere fatto per tutti i contenuti. Il backend strapi di monerochan.news fornisce anche markdown (proprio come discourse). Quindi potremmo usare esattamente lo stesso codice per recuperare i dati del post (basta aggiungere .json all’URL normale dell’argomento) e visualizzarlo.
Ovviamente le funzionalità interattive di discourse mancherebbero in questo caso. Ma potremmo semplicemente mettere un pulsante che dica qualcosa come: commenta! e questo reindirizzerà alla pagina di discourse. Anche le pagine Nextjs si caricano molto velocemente e sono ottimizzate per la SEO.

quindi immagino ci siano due situazioni: 1. Un sito di notizie con una categoria speciale curata da autori ed editor. 2. Un normale forum discourse con contenuti generati dagli utenti.
Potrebbe anche esserci un misto dei due casi.

In entrambi i casi, la creazione di un frontend headless potrebbe portare molti vantaggi.

1 Mi Piace

Se hai problemi a fare una qualsiasi delle operazioni sopra utilizzando il News Plugin, Landing Pages Plugin, Events Plugin per una qualsiasi delle opzioni sopra, puoi sempre farmelo sapere. Sarò felice di aiutarti.

Per quanto riguarda l’events plugin, dovresti contattarci perché stiamo attualmente cercando altri casi d’uso da implementare per la nostra v2 in uscita a breve. Compila questo wizard:

2 Mi Piace

Questa è un’idea interessante se ho capito bene. In sostanza, manterresti il tuo forum così com’è, e in aggiunta avresti un sito web fatto in casa in cui il contenuto proverrebbe dai dati del forum tramite l’API di Discourse. È corretto?

@Stephen, WordPress ha effettivamente dei punti validi.

WP si carica molto velocemente, specialmente se si utilizza un sistema di cache, mentre Discourse deve caricare l’intera applicazione, il che richiede sempre un po’ di tempo quando la si apre.

Il mio sito https://monocycle.info si carica velocemente e la navigazione da una pagina all’altra è quasi istantanea.

L’idea di rimuovere WordPress è per diverse ragioni che ho elencato, ma ho dimenticato di aggiungere che vorrei rendere il forum più visibile e più evidente. Voglio che le persone vedano che c’è una comunità attiva non appena atterrano sul sito.
Registrarsi e pubblicare su Discourse è un’esperienza piacevole e indolore sia su desktop che su mobile.

Potrei mantenere WP solo per la homepage (o non molto di più), e spostare la maggior parte dei contenuti nei topic/pagine pubblicate di Discourse.

Ottimo! Devo dare un’altra occhiata al tuo plugin prima di compilare il tuo wizard, così saprò esattamente quali funzionalità offre e come funziona nel complesso. :+1:

1 Mi Piace

Che ne dici di portare più contenuti della community sul sito WordPress? Aumenta la visibilità in quel modo.

Hai qualche idea più specifica? Quando atterriamo sulla home page, abbiamo un link “Discussioni” e un elenco degli ultimi argomenti creati.

Sì! È esattamente quello che intendo! Non c’è nemmeno molto da fare dal lato discourse! Se aggiungi .json a qualsiasi link di un argomento, hai già l’API!
Prendi ad esempio questo argomento di cui stiamo parlando attualmente:
https://meta.discourse.org/t/go-from-a-wordpress-discourse-structure-to-a-discourse-site-only/247273/8.json?include_raw=true

nota il .json e include_raw=true alla fine. Questo è il modo in cui puoi persino ottenere il markdown del post oltre all’HTML “cotto”.

Strapi utilizza anche un editor markdown, quindi posso letteralmente usare lo stesso codice di prima.

2 Mi Piace

Mi ha fatto letteralmente saltare sulla sedia. Da quello che ho capito usando: .json e include_raw=true con una sorta di automazione (n8n) potremmo tecnicamente reindirizzare tutto discourse in un Hugo spingendo il meta tag e il markdown direttamente in un repository git??

1 Mi Piace