I created a public site for my visualforce. On my page, I'm don't using Apex class, just Visualforce.
My page:
<apex:page standardController="Curso__c" recordSetVar="cursos">
<apex:pageBlock title="Plataforma de Cursos do Mario">
<apex:form >
<h1> Bem vindo, escolha um curso e bons estudos! </h1>
<br/><br/>
<apex:pageBlock title="Cursos Disponíveis:">
<apex:repeat value="{!cursos}" var="curso">
<h1>Nome: {!curso.Name}</h1>
<br/><br/>
<apex:outputText value="{0,date,dd'/'MM'/'yyyy}">
Data do curso:<apex:param value="{!curso.CreatedDate}" />
</apex:outputText>
<p></p>
<apex:image value="{!curso.Link_da_Imagem_do_Curso__c}" width="350px" height="200px" />
<p>{!curso.Descri_o_do_Curso__c}</p>
<br/>
<button type="button" onclick="location.href='{!curso.Link_do_Curso__c}'">ACESSAR CURSO</button>
<hr/>
<br/><br/>
</apex:repeat>
</apex:pageBlock>
</apex:form>
</apex:pageBlock>
</apex:page>
In Developer Console -> preview, my page works and she lists my Courses (list of Curso__c) !
But on my public site, the list doesn't work...
This is a link for my public site: https://cursosmario-developer-edition.na156.force.com/
He doesn't list my Courses... Why?? Please, help me